[class.某个class的name] = “some condition” 当条件满足的时候,这个class将会被加上去
创建一个组件的时候,除了文件夹中的内容。还会在app.module.ts中import他的component,自己在ts中也会自动创建export并继承OnInit接口.
一个bug:点击了a标签的默认样式,颜色变暗,刷新之后无法去除。
import部分只代表加载了类,就像java的import,并不代表实例化了,所以在下面不能直接使用的。
AppModule这个顶级类和@NgModule这些还没有详细了解。
Angular Hero 笔记
一些基本指令
npm install -g @angular/cli 安装angular-cli脚手架。
npm install -g @angular/cli 创建新的脚手架项目。
ng serve —open 在项目中,启动这个脚手架应用。
ng generate component heroes 创建一个名为‘heroes’的组件。
ng generate service hero 创建一个名为‘hero’的服务。
目前学的数据关系
数据双向绑定:
这个的和vue一样,是{{}}.在组件中可以直接拿到component.ts中暴露出来的数据。
组件中各个文件及其数据调用
ts文件中,会有一个@Component的修饰器。这个修饰器中会有所有的依赖关系,对于模板(html)、style(css)的引用
在这个ts文件中,会有一个name+Component的类,并且实现了OnInit接口。这个类的属性,如果用‘:’规定了必须是什么类的话,那这实际上是一个实例化,是ts语法;这个类中,没有规定或者是public的属性,可以被他的模板所引用。
基础知识
创建类的方法
export class + className。
格式化显示绑定数据
{{data | 管道}} 调用angular内置管道,可以对需要显示的数据进行格式化操作。
数据双向绑定
在app.module.ts中,从‘@angular/forms’导入模块:FormsModule(我理解中实际上是一个类,类似一个权限控制)。
使用[(ngModel)]指令,[]:属性绑定,值从模型上流动到视图;():事件绑定,值从视图上流动到模型。 [(ngModel)]=“模型值”,可以把textbox的值和模型值进行双向绑定。
数据基本显示指令
*ngFor=“let item of items”
*ngIf=“判定条件” 当条件为真的时候显示
增加事件绑定
(click)=”function” angular语法
[]
一个demo:[class.selected]=”hero === selectedHero”,然后这个条件正确的时候,class会变成selected
Injectable()服务
标记这个类是依赖注入系统的参与者之一。
- 还有看看angular依赖注入的概念
提供(provide)
可以通过设置这个,表示某个服务已经作为了“提供商”,通过设置这个,能建立“注入器”-“提供商”之间的联系,相关的注入器为相关的模块创建在该模块下共享的服务实例。
Observable
是RxJS的关键类,实际是返回的异步数据,这个值可以用of()来模拟(of我还不太清楚)
然后可以使用subscribe()进行订阅,当监听到所对应的Observable的值返回的时候,这个()内的function就会被执行。
设置路由的方法
1.使用ng generate module app-routing —flat —module=app 生成一个名字是app-routing的module 并且注册到app.module这个文件之中。
2.在路由(routes)中 声明路由,path:用于匹配浏览器地址中的字符串;component:组件名。
3.在视图中,增加一个的标签,然后,在里面相应注册的路径访问到的组件会是在这个位置显示。
