我有这个:
<my-cmp input>
hello
</my-cmp>
my-cmp有@Input() disabled
,input
是另一个指令,如:
@Directive({
selector: '[input]',
host:{
'[disabled]': 'true'
}
})
为什么抱怨disabled
未在my-cmp中声明为输入?
基本上,我想要一个在主机元素上应用一些绑定的指令。
Here是plunkr
答案 0 :(得分:0)
您的问题是您的指令仅适用于一种类型的组件,而不是指令的使用方式。
如果将input
指令添加到div,它将无效,因为disabled
不是已知的本机属性。您的组件也是如此。我想这是因为指令是在组件之前加载的。
要解决此问题,您应该正确使用已禁用的属性:
<my-cmp [disabled]="true">
hello
</my-cmp>
NB :您还在MyComponent
上输了一个拼写错误,@Directive
应该是@Component
,并且应该有一个template
属性。
答案 1 :(得分:0)