没有合适的资源?快使用搜索试试~ 我知道了~
首页掌握Angular 2:从入门到精通,实战构建动态应用
掌握Angular 2:从入门到精通,实战构建动态应用
需积分: 10 42 下载量 196 浏览量
更新于2024-07-20
收藏 15.98MB PDF 举报
"《Pro Angular, 第二版》是一本专为希望利用Angular 2构建动态JavaScript应用的Web开发者编写的权威指南。作者Adam Freeman以其畅销书作家的深厚背景,引领读者从基础的MVC(模型-视图-控制器)模式及其益处开始,逐步深入学习如何在项目中有效运用Angular 2。 本书结构清晰,内容详实,涵盖了从零基础到高级特性的全面学习路径,包括但不限于:HTML和CSS基础知识,JavaScript和TypeScript的使用,体育商店(SportsStore)实际应用示例,创建和定制组件、管道、服务、模块,路由和导航,以及动画和单元测试等关键知识点。作者不仅介绍技术原理,还会分享常见问题及避免策略,确保读者能够掌握核心技术并避免陷阱。 读者对象是具备HTML和JavaScript基础的Web开发者,无论你是初次接触Angular 2,还是希望提升现有技能,这本书都能提供一个扎实的架构理解,并教会你如何构建功能丰富、动态的客户端应用程序。通过阅读《Pro Angular, 第二版》,你将学会如何充分利用现代浏览器的能力,实现高效、灵活的开发。 全书共分为29章,每一章都包含实战练习和深入剖析,旨在帮助你建立起坚实的Angular 2编程基础,无论是从创建基本项目开始,还是处理复杂的应用场景,都能找到所需的知识和技巧。此外,书中还特别关注了Angular 2的响应式扩展、异步HTTP请求和单元测试,确保你在开发过程中能够进行有效的代码管理和质量保证。 《Pro Angular, 第二版》是一本全面而实用的指南,适合广大Angular开发者系统地提升技能,是迈向现代前端开发的强大工具。"
资源详情
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/9746327/bg10.jpg)
■ Contents
xvi
■Chapter 15: Creating Attribute Directives ��������������������������������������������������������� 337
Preparing the Example Project ������������������������������������������������������������������������������������� 338
Creating a Simple Attribute Directive ��������������������������������������������������������������������������� 340
Applying a Custom Directive ���������������������������������������������������������������������������������������������������������������341
Accessing Application Data in a Directive �������������������������������������������������������������������� 343
Reading Host Element Attributes �������������������������������������������������������������������������������������������������������� 343
Creating Data-Bound Input Properties ������������������������������������������������������������������������������������������������346
Responding to Input Property Changes ���������������������������������������������������������������������������������������������� 349
Creating Custom Events ����������������������������������������������������������������������������������������������� 351
Binding to a Custom Event ����������������������������������������������������������������������������������������������������������������� 353
Creating Host Element Bindings ����������������������������������������������������������������������������������� 354
Creating a Two-Way Binding on the Host Element ������������������������������������������������������� 355
Exporting a Directive for Use in a Template Variable ���������������������������������������������������� 359
Summary ���������������������������������������������������������������������������������������������������������������������� 362
■Chapter 16: Creating Structural Directives �������������������������������������������������������� 363
Preparing the Example Project ������������������������������������������������������������������������������������� 364
Creating a Simple Structural Directive ������������������������������������������������������������������������� 365
Implementing the Structural Directive Class �������������������������������������������������������������������������������������� 366
Enabling the Structural Directive ��������������������������������������������������������������������������������������������������������368
Using the Concise Structural Directive Syntax �����������������������������������������������������������������������������������370
Creating Iterating Structural Directives ������������������������������������������������������������������������ 371
Providing Additional Context Data ������������������������������������������������������������������������������������������������������ 374
Using the Concise Structure Syntax ���������������������������������������������������������������������������������������������������376
Dealing with Property-Level Data Changes ���������������������������������������������������������������������������������������� 377
Dealing with Collection-Level Data Changes �������������������������������������������������������������������������������������� 379
Querying the Host Element Content ����������������������������������������������������������������������������� 390
Querying Multiple Content Children ���������������������������������������������������������������������������������������������������� 394
Receiving Query Change Notifications ����������������������������������������������������������������������������������������������� 396
Summary ���������������������������������������������������������������������������������������������������������������������� 397
![](https://csdnimg.cn/release/download_crawler_static/9746327/bg11.jpg)
■ Contents
xvii
■Chapter 17: Understanding Components ����������������������������������������������������������� 399
Preparing the Example Project ������������������������������������������������������������������������������������� 400
Structuring an Application with Components ��������������������������������������������������������������� 401
Creating New Components ����������������������������������������������������������������������������������������������������������������� 402
Defining Templates �����������������������������������������������������������������������������������������������������������������������������406
Completing the Component Restructure ��������������������������������������������������������������������������������������������417
Using Component Styles ���������������������������������������������������������������������������������������������� 417
Defining External Component Styles �������������������������������������������������������������������������������������������������� 419
Using Advanced Style Features ���������������������������������������������������������������������������������������������������������� 420
Querying Template Content ������������������������������������������������������������������������������������������ 428
Summary ���������������������������������������������������������������������������������������������������������������������� 431
■Chapter 18: Using and Creating Pipes ��������������������������������������������������������������� 433
Preparing the Example Project ������������������������������������������������������������������������������������� 434
Installing the Internationalization Polyfill ������������������������������������������������������������������������������������������� 436
Understanding Pipes ���������������������������������������������������������������������������������������������������� 439
Creating a Custom Pipe ������������������������������������������������������������������������������������������������ 440
Registering a Custom Pipe ����������������������������������������������������������������������������������������������������������������� 441
Applying a Custom Pipe ���������������������������������������������������������������������������������������������������������������������� 442
Combining Pipes ��������������������������������������������������������������������������������������������������������������������������������� 443
Creating Impure Pipes ������������������������������������������������������������������������������������������������������������������������444
Using the Built-in Pipes ������������������������������������������������������������������������������������������������ 448
Formatting Numbers ��������������������������������������������������������������������������������������������������������������������������� 449
Formatting Currency Values ��������������������������������������������������������������������������������������������������������������� 451
Formatting Percentages ��������������������������������������������������������������������������������������������������������������������� 454
Formatting Dates �������������������������������������������������������������������������������������������������������������������������������� 456
Changing String Case ������������������������������������������������������������������������������������������������������������������������� 459
Serializing Data as JSON �������������������������������������������������������������������������������������������������������������������� 460
Slicing Data Arrays ����������������������������������������������������������������������������������������������������������������������������� 461
Summary ���������������������������������������������������������������������������������������������������������������������� 463
![](https://csdnimg.cn/release/download_crawler_static/9746327/bg12.jpg)
■ Contents
xviii
■Chapter 19: Using Services ������������������������������������������������������������������������������� 465
Preparing the Example Project ������������������������������������������������������������������������������������� 466
Understanding the Object Distribution Problem ����������������������������������������������������������� 467
Demonstrating the Problem ����������������������������������������������������������������������������������������������������������������467
Distributing Objects as Services Using Dependency Injection ����������������������������������������������������������� 472
Declaring Dependencies in Other Building Blocks �����������������������������������������������������������������������������478
Understanding the Test Isolation Problem �������������������������������������������������������������������� 484
Isolating Components Using Services and Dependency Injection ������������������������������������������������������ 485
Completing the Adoption of Services ��������������������������������������������������������������������������� 488
Updating the Root Component and Template ������������������������������������������������������������������������������������� 488
Updating the Child Components ��������������������������������������������������������������������������������������������������������� 489
Summary ���������������������������������������������������������������������������������������������������������������������� 491
■Chapter 20: Using Service Providers ����������������������������������������������������������������� 493
Preparing the Example Project ������������������������������������������������������������������������������������� 494
Using Service Providers ����������������������������������������������������������������������������������������������� 496
Using the Class Provider ���������������������������������������������������������������������������������������������������������������������498
Using the Value Provider ���������������������������������������������������������������������������������������������������������������������506
Using the Factory Provider ����������������������������������������������������������������������������������������������������������������� 508
Using the Existing Service Provider ���������������������������������������������������������������������������������������������������� 511
Using Local Providers ��������������������������������������������������������������������������������������������������� 512
Understanding the Limitations of Single Service Objects������������������������������������������������������������������� 513
Creating Local Providers in a Directive �����������������������������������������������������������������������������������������������514
Creating Local Providers in a Component �������������������������������������������������������������������������������������������516
Controlling Dependency Resolution ����������������������������������������������������������������������������������������������������521
Summary ���������������������������������������������������������������������������������������������������������������������� 523
■Chapter 21: Using and Creating Modules ���������������������������������������������������������� 525
Preparing the Example Project ������������������������������������������������������������������������������������� 526
Understanding the Root Module ����������������������������������������������������������������������������������� 528
Understanding the Imports Property �������������������������������������������������������������������������������������������������� 530
Understanding the Declarations Property �������������������������������������������������������������������������������������������530
![](https://csdnimg.cn/release/download_crawler_static/9746327/bg13.jpg)
■ Contents
xix
Understanding the Providers Property ������������������������������������������������������������������������������������������������531
Understanding the Bootstrap Property �����������������������������������������������������������������������������������������������531
Creating Feature Modules �������������������������������������������������������������������������������������������� 533
Creating a Model Module ��������������������������������������������������������������������������������������������������������������������535
Creating a Utility Feature Module �������������������������������������������������������������������������������������������������������539
Creating a Feature Module with Components ������������������������������������������������������������������������������������545
Summary ���������������������������������������������������������������������������������������������������������������������� 549
■Chapter 22: Creating the Example Project ��������������������������������������������������������� 551
Starting the Example Project ���������������������������������������������������������������������������������������� 551
Adding and Configuring the Packages ������������������������������������������������������������������������� 552
Configuring TypeScript������������������������������������������������������������������������������������������������������������������������553
Configuring the Development HTTP Server ���������������������������������������������������������������������������������������� 553
Configuring the JavaScript Module Loader ����������������������������������������������������������������������������������������554
Creating the Model Module ������������������������������������������������������������������������������������������ 554
Creating the Product Data Type ����������������������������������������������������������������������������������������������������������554
Creating the Data Source and Repository ������������������������������������������������������������������������������������������� 555
Completing the Model Module ������������������������������������������������������������������������������������������������������������ 556
Creating the Core Module ��������������������������������������������������������������������������������������������� 557
Creating the Shared State Service ����������������������������������������������������������������������������������������������������� 557
Creating the Table Component ������������������������������������������������������������������������������������������������������������557
Creating the Form Component ������������������������������������������������������������������������������������������������������������ 559
Completing the Core Module ��������������������������������������������������������������������������������������������������������������561
Creating the Messages Module ������������������������������������������������������������������������������������ 562
Creating the Message Model and Service ������������������������������������������������������������������������������������������ 562
Creating the Component and Template ����������������������������������������������������������������������������������������������563
Completing the Message Module ������������������������������������������������������������������������������������������������������� 563
Completing the Project ������������������������������������������������������������������������������������������������� 564
Creating the Angular Bootstrap ���������������������������������������������������������������������������������������������������������� 564
Creating the Reactive Extensions Module ������������������������������������������������������������������������������������������565
Creating the HTML Document �������������������������������������������������������������������������������������������������������������565
![](https://csdnimg.cn/release/download_crawler_static/9746327/bg14.jpg)
■ Contents
xx
Running the Example Project ��������������������������������������������������������������������������������������� 566
Summary ���������������������������������������������������������������������������������������������������������������������� 567
■Chapter 23: Using Reactive Extensions ������������������������������������������������������������� 569
Preparing the Example Project ������������������������������������������������������������������������������������� 570
Understanding the Problem ������������������������������������������������������������������������������������������ 571
Solving the Problem with Reactive Extensions ������������������������������������������������������������ 573
Understanding Observables ���������������������������������������������������������������������������������������������������������������� 574
Understanding Observers ������������������������������������������������������������������������������������������������������������������� 576
Understanding Subjects ��������������������������������������������������������������������������������������������������������������������� 577
Using the Async Pipe ���������������������������������������������������������������������������������������������������� 578
Using the Async Pipe with Custom Pipes ������������������������������������������������������������������������������������������� 579
Scaling Up Application Feature Modules ���������������������������������������������������������������������� 581
Going Beyond the Basics ���������������������������������������������������������������������������������������������� 584
Filtering Events ����������������������������������������������������������������������������������������������������������������������������������� 585
Transforming Events ��������������������������������������������������������������������������������������������������������������������������� 586
Receiving Only Distinct Events ����������������������������������������������������������������������������������������������������������� 589
Taking and Skipping Events ����������������������������������������������������������������������������������������������������������������591
Summary ���������������������������������������������������������������������������������������������������������������������� 592
■Chapter 24: Making Asynchronous HTTP Requests ������������������������������������������� 593
Preparing the Example Project ������������������������������������������������������������������������������������� 594
Configuring the JavaScript Module Loader ����������������������������������������������������������������������������������������595
Configuring the Model Feature Module ����������������������������������������������������������������������������������������������596
Updating the Form Component ����������������������������������������������������������������������������������������������������������� 597
Running the Example Project ������������������������������������������������������������������������������������������������������������� 597
Understanding RESTful Web Services �������������������������������������������������������������������������� 598
Replacing the Static Data Source ��������������������������������������������������������������������������������� 599
Creating the New Data Source Service ���������������������������������������������������������������������������������������������� 600
Configuring the Data Source���������������������������������������������������������������������������������������������������������������602
Using the REST Data Source ���������������������������������������������������������������������������������������������������������������603
Saving and Deleting Data �������������������������������������������������������������������������������������������������������������������605
剩余800页未读,继续阅读
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
zhenfanwu
- 粉丝: 2
- 资源: 18
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 多模态联合稀疏表示在视频目标跟踪中的应用
- Kubernetes资源管控与Gardener开源软件实践解析
- MPI集群监控与负载平衡策略
- 自动化PHP安全漏洞检测:静态代码分析与数据流方法
- 青苔数据CEO程永:技术生态与阿里云开放创新
- 制造业转型: HyperX引领企业上云策略
- 赵维五分享:航空工业电子采购上云实战与运维策略
- 单片机控制的LED点阵显示屏设计及其实现
- 驻云科技李俊涛:AI驱动的云上服务新趋势与挑战
- 6LoWPAN物联网边界路由器:设计与实现
- 猩便利工程师仲小玉:Terraform云资源管理最佳实践与团队协作
- 类差分度改进的互信息特征选择提升文本分类性能
- VERITAS与阿里云合作的混合云转型与数据保护方案
- 云制造中的生产线仿真模型设计与虚拟化研究
- 汪洋在PostgresChina2018分享:高可用 PostgreSQL 工具与架构设计
- 2018 PostgresChina大会:阿里云时空引擎Ganos在PostgreSQL中的创新应用与多模型存储
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)