检查元素是否在 Angular2 中动态标记 attr/class
Checking element has attr/class tagged dynamically or not in Angular2
在Angular2
中有没有一种方法可以让开发人员检查一个组件的相应元素是否用某些attribute/class标记?
假设我们有以下 html:
<outer-controller>
<label label-directive class='dynamically-set-class' dynamically-set-attribute>just some label</label>
</outer-controller>
label元素中标注的label-directive
是一个Angular2
组件,dynamically-set-class
和dynamically-set-attribute
两个是根据outer-controller
动态控制的用户输入。
每次 outer-controller
重置标签或属性的 class 时,它都会触发一个被 label-directive
捕获的事件,因此 label-directive
应该做一些事情动态地基于 运行 时间 attribute/class 设置。
但是,我在现有的官方 Angular2
文档中找不到任何示例
@Input()
应该做你想做的事:
@Directive({
selector: '[label-directive]'
})
export class LabelDirective {
@Input('class.dynamically-set-class') _dynamicallySetClass: boolean;
@Input('dynamically-set-attribute') _dynamicallySetAttribute: any;
ngOnInit() {
console.log('class ' + _dynamicallySetClass);
console.log('attribute ' + _dynamicallySetAttribute);
}
ngOnChanges(changes) {
..
}
}
在Angular2
中有没有一种方法可以让开发人员检查一个组件的相应元素是否用某些attribute/class标记?
假设我们有以下 html:
<outer-controller>
<label label-directive class='dynamically-set-class' dynamically-set-attribute>just some label</label>
</outer-controller>
label元素中标注的label-directive
是一个Angular2
组件,dynamically-set-class
和dynamically-set-attribute
两个是根据outer-controller
动态控制的用户输入。
每次 outer-controller
重置标签或属性的 class 时,它都会触发一个被 label-directive
捕获的事件,因此 label-directive
应该做一些事情动态地基于 运行 时间 attribute/class 设置。
但是,我在现有的官方 Angular2
文档中找不到任何示例
@Input()
应该做你想做的事:
@Directive({
selector: '[label-directive]'
})
export class LabelDirective {
@Input('class.dynamically-set-class') _dynamicallySetClass: boolean;
@Input('dynamically-set-attribute') _dynamicallySetAttribute: any;
ngOnInit() {
console.log('class ' + _dynamicallySetClass);
console.log('attribute ' + _dynamicallySetAttribute);
}
ngOnChanges(changes) {
..
}
}