Angular 带有模板和数据绑定的组件指令

Angular 带有模板和数据绑定的组件指令,angular,Angular,在Angular2中,是否可以将下面的源输出到指令中 e、 g.以后: 编辑 是否有可能最终得到一个更复杂的指令,比如: @组件({ 选择器:“isValid”, 模板:` {{title}} ` }) 导出类ContinuationCheckDirective{ @Input()是有效的:boolean=false; @主机绑定('attr.disabled') 禁用:布尔值; ngOnChanges(){ this.disabled=!this.isValid; } next(){/

在Angular2中,是否可以将下面的源输出到指令中


e、 g.以后:


编辑 是否有可能最终得到一个更复杂的指令,比如:

@组件({
选择器:“isValid”,
模板:`
{{title}}
`
})
导出类ContinuationCheckDirective{
@Input()是有效的:boolean=false;
@主机绑定('attr.disabled')
禁用:布尔值;
ngOnChanges(){
this.disabled=!this.isValid;
}
next(){//dostuff}
然后在父组件中:


指令({
选择器:“[isValid]”
})
类是有效的直接类{
@Input()是有效的:boolean=false;
@主机绑定('attr.disabled')
禁用:布尔值;
ngOnChanges(){
this.disabled=!this.isValid;
}
}

非常有趣。是否可以为整个按钮执行此操作,例如,稍后仅在模板中使用:
不确定您的意思。什么是
,例如,mydirective是从指令组件中注入模板的位置。我发现
指令组件
有点混乱;-)。您在组件中也执行相同的操作t如果这是您想要的。您需要将
IsValidDirective
添加到组件的
指令:[……]
,在其中您要使用它或使用
PLATFORM\u指令全局提供它。我还忘了
[]
在我的第一篇文章中围绕选择器。您可能错过了更新。您需要将选择器更改为
continuationCheckDirective
[isValid]=“…”
仍然有效,因为这只需要匹配
@Input()
名称。我使用了选择器
[isValid]
因此不需要添加一个属性来实例化指令,也不需要添加另一个属性来分配给
@Input()
但是将它们合并为一个。我在我的答案中添加了一个plunk。根据这个具体的例子,你能指出什么没有按预期工作吗?非常好,谢谢。我分叉了plunk,显示了当isValid为false时按钮应该是什么样子。
禁用的
的值需要是
null
In不要使用
false
来删除
disabled
属性。
disabled=“false”
disabled=“true”
相同,或者只是
disabled
。哦,很好,我怎么会错过这个。非常感谢你与我一起工作!