【Angular】angular的核心概念
摘录自:《Angular开发入门与实战》(兰泽军)
1.3.1 组件
组件是构成Angular的基础和核心,它是一个模板的控制类,Angular使用组件处理页面逻辑和视图显示问题。组件知道如何渲染自己和配置依赖注入(Dependency Injection),并通过一些由属性和方法组成的API与视图交互,每个组件都能独立实现各自的功能。
在基于Angular的组件的体系结构中,Web应用程序把逻辑功能和组件分开。这些组件可以轻松替换和解耦,并可以在Web应用程序的其他部分中重复使用。此外,组件的独立性不仅使测试Web应用程序变得容易,而且还能确保每个组件都可以无缝运行。
1.3.2 模板和数据绑定
使用组件时,Angular是通过模板渲染来显示组件内容的。模板通过数据绑定的方式来动态设置文档对象模型(Document Object Model,DOM)的值,如把组件数据映射到模板中,或者从模板(如input控件)中取出数据放到组件中。
1.3.3 服务
Angular把组件和服务区分开,以增强模块性和复用性。通过把组件中和视图有关的功能与其他类型的功能分开,组件变得更加精简、高效。
在功能方面,组件聚焦于展示数据,把数据访问的职责委托给某个服务。因此服务是实现单一目的的业务逻辑单元,它封装了某一特定功能,如从服务器获取数据、验证用户输入或直接往控制台中写日志等。服务是可以通过注入的方式供用户使用的独立模块。
1.3.4 依赖注入
依赖注入其实不是Angular独有的概念,这是一个已经存在很长时间的设计模式,也可以叫作控制反转(Inverse of Control)。熟悉Java和.NET的用户对这种设计模式不会感到陌生,Java的Spring框架里的IOC就是一种这样的设计模式。
Angular也提供了依赖注入。因为组件是用TypeScript写的类,所以依赖关系通常通过构造函数注入。在Angular中,我们可以创建一个可重用的软件对象来处理与服务器的通信,通过构造函数将它注入每个需要它的对象(类)。然后,在类中就有了与服务器通信的现成方法。
依赖注入的好处是只要编写一次代码(如处理与服务器的通信服务),就可以在许多地方多次使用它。
1.3.5 指令
Angular的模板是动态的。当Angular渲染它们时,Angular会根据指令对DOM进行修改。Angular中包含以下3种类型的指令。
●属性指令:以元素的属性形式来使用的指令。
●结构指令:用来改变DOM树的结构的指令。
●组件指令:作为指令的一个重要子类,组件本质上可以看作一个带有模板的指令。
1.3.6 管道
Angular的管道的作用是把数据作为输入,然后转换它,给出期望的输出。常见的管道有:日期管道,负责转换日期为友好的本地格式;货币管道,负责转换货币格式;异步管道,可实时订阅数据;等等。
1.3.7 模块
Angular的模块的作用是把组件、指令、服务等打包成内聚的功能块,封装或暴露相应的功能,从而达到模块间的解耦,是高度自治的一种程序设计模式。换句话说,模块对应的是业务和功能,组件对应的才是页面展示和交互。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!