是否可以在主机中使用“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 添加到主机时会抛出异常。
“无法绑定到‘ngClass’,因为它不是已知的本机属性”
直接在主机中设置类可以正常工作,例如;
host: {
'[class.custom]' : 'classMap.custom'
}
因此认为 ngClass 可以吗?语法错误? (可能!!!):)
ngClass
是一个指令,并且主机绑定不支持指令。
host: {
'[ngClass]' : 'classMap' // I don't work!!!
}
需要是
host: {
'[class.className]' : 'className',
'[class]' : 'classNames'
}
where classNames
是一个空格分隔的类列表。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)