是否可以在主机中使用“ngClass”作为组件/指令 .
@Component({
selector: 'custom',
template: `<div [ngClass]="classMap"></div> // I work
<ng-content></ng-content>`,
host: {
'[ngClass]' : 'classMap' // I don't work!!!
}
})
export class CustomComponent {
constructor () {
this.classMap = {
custom: true
};
}
}
在上面的例子中,ngClass在模板中的div上正常工作..它得到了一个“自定义”类,但在尝试将via添加到Host时会引发异常 .
“无法绑定到'ngClass',因为它不是已知的本机属性”
直接在主机中设置类可以正常工作,例如;
host: {
'[class.custom]' : 'classMap.custom'
}
因此会认为ngClass会好吗?语法不正确? (可能!!!):)
2 回答
ngClass
是一个指令,主机绑定不支持指令 .需要的是
其中
classNames
是以空格分隔的类列表 .我有同样的问题,但我可以解决它导入我的模块上的一些模块:
我的组件不使用“主机”: