1 事件处理html
1.1 鼠标移入事件触发api
(mouseenter)=" "app
eg: (mouseenter)="isCollapsed=false" 经过给isCollapsed赋值来实现隐藏显示less
1.2 鼠标移出事件触发函数
(mouseleave)=" "
eg: (mouseleave)="isCollapsed=true" 经过给isCollapsed赋值来实现隐藏显示
1.3 点击事件触发
(click)=" "
eg: (click)="toggleCollapsed()" 点击事件,执行一个函数
2 结构型指令
2.1 angular 内置指令
2.1.1 元素显示隐藏指令 (布尔值,为true时显示,为false时隐藏)
*ngIf=" "
eg
: *ngIf="leveldisplay" leveldisplay=true 时显示
2.1.2 元素迭代指令
eg:
*ngFor="let hero of heroes" heroes 是要迭代的数据 , hero 为迭代的属性,能够在它身上取到属性值 如 hero.id
2.2 angular 自定义指令
2.2.1 建立自定义组件
引入建立指令须要依赖的组件库
在指令装饰器中,选择在html中建立的指令属性名字, 这个方括号定义出了一个 CSS 属性选择器。
都注入到指令的构造函数中,做为该类的私有属性。
自定义指令的执行代码
声明一个控制属性
private hasView = false;
设置自定义的属性appUnless 的值的类型为布尔值
@Input() set appUnless(condition: boolean) {
判断 布尔值不为真,且 声明的变量值不为真
if (!condition && !this.hasView) {
this.viewContainer.createEmbeddedView(this.templateRef);
让隐藏的视图显示出来
this.hasView = true;
} else if (condition && this.hasView) {
把视图容器中建立的内嵌视图删除
this.viewContainer.clear();
让显示的视图隐藏起来
this.hasView = false;
}
}