我有一个自定义组件" SuperField"
<div>
<input name="super" />
<input name="field" />
</div>
被称为:
<super-component [disabled]="true" [superDirective]="control"></super-component>
我希望通过自定义&amp;从父到子的默认属性指令没有明确定义它们,这个指令应该从主机中删除(在DOM中):
<div>
<input name="super" [disabled]="true" [superDirective]="control" />
<input name="field" [disabled]="true" [superDirective]="control" />
</div>
所以我可以传递每个ng2属性指令而不在ts文件中定义它们,如:
@Input() disabled: boolean;
@Input() superDirective: any;
我可以这样做吗?如果是的话,怎么样?
答案 0 :(得分:0)
我无法弄清楚为什么要针对Angular的基本功能执行此操作以保持组件独立。通过这样做,它将紧密耦合。
为两个指令定义服务并保留值对象。在父类中设置这两个,然后从子类中访问它。
valObjCls
{
disabled:boolean;
superDirective:any;
}
ParentClass{
constructor(VO:valObjCls){}
VO.disabled = false;
VO.superDirective = 'parentControl';
}
ChildClass{
constructor(VO:valObjCls)
console.log(VO.disabled);
console.log(VO.superDirective);
}