Đây là cuốn sách đầu dường , nếu bạn muốn tìm hiểu về angular. Mình hiện tại là senier tại công ty lập trình mgm Đà Nẵng. Mình đã đọc rất nhiều sách nhưng đây là cuốn mình thấy tâm đắc nhất, hồi xưa mình mua sách này bản quyền là 58 , mình thấy hay nên chia sẽ cùng mọi người đọc.
Angular From Theory To Practice Asim Hussain Version 1.2.0, 2017-11-24 Table of Contents Copyright Changelog Versions 1.2.0 (2017-11-24) 1.1.0 (2017-04-27) 1.0.1 (2017-01-05) 1.0.0 (2016-11-16) About Quickstart Overview Plunker Learning Outcomes What is plunker and how to use it? Structure of an Angular Plunker Summary Listing 10 Intro to TypeScript 11 Learning Outcomes 11 TypeScript vs JavaScript 11 Transpilation 12 Summary 12 Writing our first app 13 Learning Outcomes 13 Components 13 Imports 14 Template 14 Angular Modules 15 Bootstrapping 17 Component Tree 17 Troubleshooting 18 Summary 18 Listing 19 String Interpolation 21 Learning Outcomes 21 Motivation 21 Classes 21 String Interpolation 22 Summary 23 Listing 23 Looping 25 Learning Outcomes 25 JokeListComponent 25 Configuring 27 Summary 28 Listing 29 Property & Event Binding 31 Learning Outcomes 31 Hiding and showing elements 31 HTML Attribute vs DOM Property 31 Input Property Binding 32 Output Event Binding 33 Summary 34 Listing 35 Domain Model 37 Learning Outcomes 37 What are Domain Models? 37 Our Domain Model 37 Summary 39 Listing 39 Nesting Components & Inputs 41 Learning Outcomes 41 Create & Configure Multiple Components 41 Input Property Binding on a Custom Component 45 Summary 47 Listing 48 User Interaction & Outputs 51 Learning Outcomes 51 The Joke Form 51 The JokeFormComponent 52 Template Reference Variables 55 Summary 56 Listing 57 Wrapping Up 61 Activity 62 Steps 62 Solution 62 ES6 JavaScript & TypeScript 63 TypeScript Setup 64 Transpilation 64 Installing TypeScript 64 Running TypeScript 64 Overview 66 ES6 Support 66 TypeScript Support 66 Let 67 Block Scope 67 Let 69 Using let in for loops 69 The for loop short-cut 71 Summary 71 Listing 71 Const 73 Declaring a const variable 73 Block scoping 73 Immutable variable 73 Mutable Value 74 Summary 75 Listing 75 Template Strings 77 Multi-Line Strings 77 Variable Substitution 78 Summary 78 Listing 78 Fat Arrow Functions 80 Syntax 80 Arguments 80 this 81 Summary 83 Listing 83 Destructuring 84 Object Destructuring 84 Array Destructuring 85 Function Parameter Destructuring 85 Summary 86 Listing 86 For Of 87 For & ForEach 87 For In 87 For-of loop 88 Summary 88 Listing 89 Map & Set 90 Using Object as a Map 90 Map 91 Set 94 Summary 96 Listing 96 Promises 98 Callbacks 98 Promise API 98 Creating a Promise 98 Promise Notifications 100 Immediate Resolution or Rejection 100 Chaining 101 Catch 102 Summary 102 Listing 102 Class & Interface 104 Object Orientation in JavaScript 104 Class 104 Inheritance 106 Access Modifiers 106 Constructor shortcut 108 Interfaces 108 Summary 109 Listing 109 Decorators 111 Simple no-argument decorator 111 Decorators with arguments 112 Summary 112 Listing 113 Modules 114 Module Loading 114 ES6 Modules 114 Exporting 114 Importing 115 Aliases 115 Alternative export syntax 116 Default exports 117 Summary 117 Listing 117 Types 118 Transpile-time type checking 118 Supported Types 119 Generics 121 Optional Types 123 Type Inference 123 Types for external libraries 123 Summary 124 Listing 124 Wrapping Up 127 Further Reading 127 Angular CLI 128 Angular CLI 129 Features 129 Installing the Angular CLI 130 Start an application with ng new 130 Serve an application with ng serve 137 Generate code with ng generate 137 Create a build with ng build 139 Testing Angular 142 Summary 143 Activity 144 Steps 144 Solution 144 Components 145 Overview 146 Architecting with Components 147 Learning Objectives 147 Process 147 Data Flow 148 Summary 149 Templates, Styles & View Encapsulation 150 Learning Objectives 150 templateURL 150 styles 150 View Encapsulation 152 styleURLs 158 Depreciated Properties 159 Summary 159 Listing 159 Content Projection 164 Goals 164 Learning Objectives 164 Motivation 164 Content projection 164 Multi-content projection 165 Summary 167 Listing 167 Lifecycle Hooks 171 Learning Objectives 171 Phases 171 Adding hooks 172 Detecting what has changed 177 Interfaces 178 Summary 179 Listing 179 ViewChildren & ContentChildren 184 Learning Objectives 184 Example application 184 ViewChild 186 ViewChildren 188 ViewChild referencing a template local variable 189 ContentChild & ContentChildren 191 Summary 192 Listing 192 Wrapping Up 196 Activity 197 Steps 197 Solution 197 Built-in Directives 198 Overview 199 NgFor 200 Learning Objectives 200 Basics 200 Index 202 Grouping 203 Summary 205 Listing 205 NgIf & NgSwitch 209 Learning Objectives 209 NgIf 209 NgSwitch 211 Summary 214 Listing 214 NgStyle & NgClass 218 Learning Objectives 218 NgStyle 218 NgClass 222 Summary 225 Listing 225 NgNonBindable 229 Learning Objectives 229 Description 229 Summary 230 Listing 230 Structural Directives 232 Learning Objectives 232 Long form structural directives 232 Syntax sugar and * 233 Summary 233 Listing 234 Wrapping Up 238 Activity 239 Steps 240 Solution 240 Custom Directives 241 Overview 242 Creating a custom directive 243 Learning Objectives 243 Directive decorator 243 Attribute selector 243 Directive constructor 244 Summary 246 Listing 247 HostListener & HostBinding 250 Learning Objectives 250 HostListener 250 HostBinding 252 Summary 254 Listing 254 Inputs & Configuration 258 Learning Objectives 258 Configuration 258 Summary 260 Listing 260 Wrapping Up 264 Activity 265 Steps 265 Solution 265 Reactive Programming with RxJS 266 Overview 267 Streams & Reactive Programming 268 Learning Objectives 268 What are Streams? 268 What is Reactive Programming? 269 Summary 272 Observables & RxJS 273 Learning Objectives 273 Observables 273 RxJS 273 Other operators 276 Summary 278 Listing 278 RxJS & Angular 280 Learning Objectives 280 Angular observables 280 Reactive form example 280 Not using observables 286 Summary 287 Listing 287 Wrapping Up 291 Activity 292 Steps 292 Solution 292 Pipes 293 Overview 294 Built-in Pipes 295 Learning Objectives 295 Pipes provided by Angular 295 Summary 305 Listing 306 Async Pipe 310 Learning Objectives 310 Overview 310