发表于: 2021-02-02 23:47:16
1 1064
今天完成的事情:
1-Angular服务与 DI 简介
服务广义上包括应用所需的任何值、函数或特性;狭义的服务是一个明确定义了用途的类
Angular 把组件和服务区分开,以提高模块性和复用性。把组件中和视图有关的功能与其它类型的处理分离开,可以让组件类更加精简、高效
依赖注入
在 Angular 中,要把一个类定义为服务,就要用 @Injectable() 装饰器来提供元数据,以便让 Angular 可以把它作为依赖注入到组件中。 同样,也要使用 @Injectable() 装饰器来表明一个组件或其它类(比如另一个服务、管道或 NgModule)拥有一个依赖
注入器是主要的机制。Angular 会在启动过程中为你创建全应用级注入器以及所需的其它注入器。你不用自己创建注入器
该注入器会创建依赖、维护一个容器来管理这些依赖,并尽可能复用它们
提供者是一个对象,用来告诉注入器应该如何获取或创建依赖
提供服务
对于要用到的任何服务,必须注册一个提供者。服务可以在自己的元数据中把自己注册为提供者,这样可以让自己随处可用。或者也可以为特定的模块或组件注册提供者。要注册提供者,就要在服务的 @Injectable() 装饰器中提供它的元数据,或者在 @NgModule() 或 @Component() 的元数据
2-Angular显示数据
在视图中显示数据
各种 Angular 组件构成了应用的数据结构。 组件关联到的 HTML 模板提供了在 Web 页面的上下文中显示数据的各种方法。 组件类和模板,共同构成了应用数据的一个视图
在页面上把数据的值及其表现形式组合起来的过程,就叫做数据绑定。 通过将 HTML 模板中的各个控件绑定到组件类中的各种数据属性,你就把数据展示给了用户(并从该用户收集数据)
另外,你可以使用指令来向模板中添加逻辑,指令告诉 Angular 在渲染页面时要如何修改。
Angular 定义了一种模板语言,它扩展了 HTML 标记,其扩展语法可以让你定义各种各样的数据绑定和逻辑指令。 当渲染完此页面之后,Angular 会解释这种模板语法,来根据你的逻辑更新 HTML 和数据的当前状态
关于视图显示数据的理解:简单来说angular通过html来显示网页的视图,修改指令时,会及时更新页面的视图显示状态
使用插值显示组件属性
要显示组件的属性,最简单的方式就是通过插值 (interpolation) 来绑定属性名。 要使用插值,就把属性名包裹在双花括号里放进视图模板
如 :{{myHtml}},{{myTest}}
选择模板来源
@Component 元数据告诉 Angular 要到哪里去找该组件的模板。
两种方式存放组件的模板:
使用 @Component 装饰器的 template 属性来定义内联模板
此把模板定义在单独的 HTML 文件中,并且让 @Component 装饰器的 templateUrl 属性指向该文件
关于template和templateUrl区别:
templateUrl其实根template功能是一样的,但templateUrl加载一个html文件,template后面根的是html的标签
template: '<p>Hello</p>'
默认情况下,Angular CLI 命令 ng generate component (简写:ng g c)在生成组件时会带有模板文件
初始化
使用变量赋值来对组件进行初始化
添加循环遍历数据的逻辑
*ngFor 指令可以循环遍历数据
通过 NgIf 进行条件显示
*ngIf 指令会根据一个布尔条件来显示或移除一个元素
问题:
初始化是什么意思?
还是没明白angular服务有什么用
明天的计划
学习angular的模板语法,指令
评论