Become A Ninja With Angular

Become a Ninja with Angular v17.2.0 - 2024-02-15 book cover

Become a Ninja with Angular

Author(s): Ninja Squad (Author)

  • Publisher: Ninja Squad
  • Publication Date: 2024
  • Language: English
  • Print length: 353 pages

Book Description

Table of Contents
1. Introduction - - 1
2. A gentle introduction to ECMAScript 2015+ - - 4
2.1. Transpilers - - 4
2.2. let - - 5
2.3. Constants - - 6
2.4. Shorthands in object creation - - 7
2.5. Destructuring assignment - - 7
2.6. Default parameters and values - - 9
2.7. Rest operator - - 11
2.8. Classes - - 12
2.9. Promises - - 14
2.10. Arrow functions - - 17
2.11. Async/await - - 20
2.12. Sets and Maps - - 21
2.13. Template literals - - 21
2.14. Modules - - 22
2.15. Conclusion - - 24
3. Going further than ES2015+ - - 25
3.1. Dynamic, static and optional types - - 25
3.2. Enters TypeScript - - 26
3.3. A practical example with DI - - 26
4. Diving into TypeScript - - 29
4.1. Types as in TypeScript - - 29
4.2. Enums - - 30
4.3. Return types - - 31
4.4. Interfaces - - 31
4.5. Optional arguments - - 32
4.6. Functions as property - - 33
4.7. Classes - - 33
4.8. Working with other libraries - - 35
4.9. Decorators - - 36
5. Advanced TypeScript - - 39
5.1. readonly - - 39
5.2. keyof - - 39
5.3. Mapped type - - 40
5.4. Union types and type guards - - 42
6. The wonderful land of Web Components - - 45
6.1. A brave new world - - 45
6.2. Custom elements - - 46
6.3. Shadow DOM - - 47
6.4. Template - - 47
6.5. Frameworks on top of Web Components - - 48
7. Grasping Angular’s philosophy - - 50
8. From zero to something - - 54
8.1. Node.js and NPM - - 54
8.2. Angular CLI - - 54
8.3. Application structure - - 56
8.4. Our first standalone component - - 57
8.5. Bootstrapping the app - - 59
9. The templating syntax - - 61
9.1. Interpolation - - 62
9.2. Using other components in our templates - - 64
9.3. Property binding - - 66
9.4. Events - - 69
9.5. Expressions vs statements - - 72
9.6. Local variables - - 73
9.7. Structural directives - - 74
9.8. Other template directives - - 77
9.9. Summary - - 78
10. Building components and directives - - 82
10.1. Introduction - - 82
10.2. Directives - - 82
10.3. Components - - 93
11. Styling components and encapsulation - - 95
11.1. Shadow DOM strategy - - 96
11.2. Emulated strategy - - 96
11.3. None strategy - - 97
11.4. Styling the host - - 97
12. Pipes - - 99
12.1. Pied piper - - 99
12.2. json - - 99
12.3. slice - - 100
12.4. keyvalue - - 101
12.5. uppercase - - 103
12.6. lowercase - - 103
12.7. titlecase - - 103
12.8. number - - 103
12.9. percent - - 104
12.10. currency - - 105
12.11. date - - 105
12.12. async - - 106
12.13. A pipe in your code - - 107
12.14. Creating your own pipes - - 108
13. Dependency injection - - 110
13.1. DI yourself - - 110
13.2. Easy to develop - - 110
13.3. Easy to configure - - 113
13.4. Other types of provider - - 116
13.5. Hierarchical injectors - - 117
13.6. DI without types - - 119
13.7. inject() - - 121
13.8. Services provided by the framework - - 121
14. Reactive Programming - - 123
14.1. Call me maybe - - 123
14.2. General principles - - 123
14.3. RxJS - - 124
14.4. Reactive programming in Angular - - 126
15. Testing your app - - 128
15.1. The problem with troubleshooting is that trouble shoots back - - 128
15.2. Unit tests - - 128
15.3. Fake dependencies - - 134
15.4. Testing components - - 136
15.5. Testing with fake templates, providers… - - 139
15.6. Simpler, cleaner unit tests with ngx-speculoos - - 141
15.7. End-to-end tests (e2e) - - 143
16. Send and receive data through HTTP - - 145
16.1. Getting data (provideHttpClient) - - 145
16.2. Transforming data - - 148
16.3. Advanced options - - 148
16.4. Interceptors - - 149
16.5. Context - - 150
16.6. Tests - - 151
17. Router - - 153
17.1. En route (provideRouter) - - 153
17.2. Navigation - - 156
17.3. Redirects - - 158
17.4. Matching strategy - - 159
17.5. Hierarchical and empty-path routes - - 159
17.6. Guards - - 161
17.7. Resolvers - - 163
17.8. Router events - - 165
17.9. Parameters and data - - 165
17.10. Bind parameters and data to component inputs - - 167
17.11. Lazy loading - - 168
18. Forms - - 170
18.1. Forms, dear forms - - 170
18.2. Template-driven - - 172
18.3. Code-driven - - 177
18.4. Adding some validation - - 181
18.5. Errors and submission - - 183
18.6. Add some style - - 186
18.7. Creating a custom validator - - 187
18.8. Grouping fields - - 190
18.9. Reacting to changes - - 192
18.10. Updating on blur or on submit only - - 194
18.11. FormArray and FormRecord - - 195
18.12. Strictly typed forms - - 197
18.13. Super simple validation error messages with ngx-valdemort - - 199
18.14. Going further: define custom form inputs with ControlValueAccessor - - 200
18.15. Summary - - 202
19. Zones and the Angular magic - - 204
19.1. AngularJS 1.x and the digest cycle - - 204
19.2. Angular and zones - - 207
20. Angular compilation: Just in Time vs Ahead of Time - - 213
20.1. Code generation - - 213
20.2. Ahead of Time compilation - - 215
21. Advanced observables - - 217
21.1. Subscribe, unsubscribe and async pipe - - 217
21.2. Leveraging operators - - 222
21.3. Building your own Observable - - 225
21.4. Managing state with stores (NgRx, NGXS, Akita and friends) - - 226
21.5. Conclusion - - 227
22. Advanced components and directives - - 228
22.1. Input transforms - - 228
22.2. View queries: ViewChild - - 229
22.3. Content: ng-content - - 232
22.4. Content queries: ContentChild - - 234
22.5. Conditional and contextual content projection: ng-template and ngTemplateOutlet - - 237
22.6. Host listener - - 239
22.7. Host binding - - 241
23. Angular modules - - 244
23.1. A compilation unit - - 244
23.2. Module composition - - 245
23.3. Functional, routed modules - - 246
24. Internationalization - - 247
24.1. The locale - - 247
24.2. Default currency - - 249
24.3. Translating text - - 250
24.4. Process and tooling - - 250
24.5. Translating messages in the code - - 256
24.6. Pluralization - - 257
24.7. Best practices - - 259
25. Performances - - 261
25.1. First load - - 261
25.2. Reload - - 264
25.3. Profiling - - 265
25.4. Runtime performances - - 266
25.5. NgZone - - 278
26. Signals - - 286
26.1. The reasons behind Signals - - 286
26.2. Signals API - - 286
26.3. Signals, components, and change detection - - 289
26.4. Tip for signals with nullable values - - 290
26.5. Sharing a signal between components - - 291
26.6. Memory leaks - - 292
26.7. Signals and RxJS interoperability - - 293
26.8. Signal-based components - - 294
26.9. Inputs as signals - - 295
26.10. Queries as signals - - 297
26.11. model() - - 300
26.12. Conclusion - - 302
27. Control flow template syntax - - 303
27.1. Structural directives under the hood - - 303
27.2. Control flow syntax - - 306
27.3. If statement - - 307
27.4. For statement - - 308
27.5. Switch statement - - 309
27.6. The future of templating - - 309
28. Deferrable Views with @defer - - 311
28.1. @placeholder, @loading, and @error - - 313
28.2. Conditions - - 314
28.3. Prefetching - - 316
28.4. How to test deferred loading? - - 316
29. Going to production - - 318
29.1. Environments and configurations - - 318
29.2. strictTemplates - - 320
29.3. Package your application - - 320
29.4. Server configuration - - 321
29.5. Conclusion - - 322
30. This is the end - - 323
Appendix A: Changelog - - 326
A.1. v17.2.0 - 2024-02-15 - - 326
A.2. v17.1.0 - 2024-01-18 - - 326
A.3. v17.0.0 - 2023-11-08 - - 326
A.4. v16.2.0 - 2023-08-10 - - 327
A.5. v16.1.0 - 2023-06-14 - - 327
A.6. v16.0.0 - 2023-05-17 - - 327
A.7. v15.2.0 - 2023-02-23 - - 327
A.8. v15.1.0 - 2023-01-11 - - 327
A.9. v15.0.0 - 2022-11-16 - - 328
A.10. v14.2.0 - 2022-08-26 - - 328
A.11. v14.1.0 - 2022-07-21 - - 328
A.12. v14.0.0 - 2022-06-03 - - 329
A.13. v13.3.0 - 2022-03-16 - - 329
A.14. v13.2.0 - 2022-01-27 - - 329
A.15. v13.1.0 - 2021-12-10 - - 329
A.16. v13.0.0 - 2021-11-04 - - 329
A.17. v12.2.0 - 2021-08-05 - - 330
A.18. v12.1.0 - 2021-06-25 - - 330
A.19. v12.0.0 - 2021-05-13 - - 330
A.20. v11.2.0 - 2021-02-12 - - 330
A.21. v11.1.0 - 2021-01-21 - - 330
A.22. v11.0.0 - 2020-11-12 - - 330
A.23. v10.2.0 - 2020-10-22 - - 331
A.24. v10.1.0 - 2020-09-03 - - 331
A.25. v10.0.0 - 2020-06-25 - - 331
A.26. v9.1.0 - 2020-03-26 - - 331
A.27. v9.0.0 - 2020-02-07 - - 331
A.28. v8.2.0 - 2019-08-01 - - 332
A.29. v8.1.0 - 2019-07-02 - - 333
A.30. v8.0.0 - 2019-05-29 - - 333
A.31. v7.2.0 - 2019-01-09 - - 334
A.32. v7.1.0 - 2018-11-27 - - 334
A.33. v7.0.0 - 2018-10-25 - - 334
A.34. v6.1.0 - 2018-07-26 - - 335
A.35. v6.0.0 - 2018-05-04 - - 336
A.36. v5.2.0 - 2018-01-10 - - 337
A.37. v5.0.0 - 2017-11-02 - - 337
A.38. v4.3.0 - 2017-07-16 - - 338
A.39. v4.2.0 - 2017-06-09 - - 338
A.40. v4.0.0 - 2017-03-24 - - 339
A.41. v2.4.4 - 2017-01-25 - - 340
A.42. v2.2.0 - 2016-11-18 - - 340
A.43. v2.0.0 - 2016-09-15 - - 341
A.44. v2.0.0-rc.5 - 2016-08-25 - - 341
A.45. v2.0.0-rc.0 - 2016-05-06 - - 343
A.46. v2.0.0-alpha.47 - 2016-01-15 - - 344

v17.2.0 - 2024-02-15

代发服务PDF电子书30立即求助
未经允许不得转载:电子书百科大全 » Become A Ninja With Angular

评论 抢沙发

评论前必须登录!

立即登录   注册