Angular 有条件地添加指令
我想有条件地向组件添加一个指令(其中,Angular 有条件地添加指令,angular,Angular,我想有条件地向组件添加一个指令(其中,au disabled、au accent和au focused是指令): 使用以下命令,我的代码可以用更少的HTML处理组合: <au-placeholder [au-disabled]="disabled" [au-accented]="accented" [au-focused]="focused"></au-placeholder> 但是呈现的HTML总是包含所有的指令,每个指令都带有一个真值。。。组件必须测试每个指令的
au disabled
、au accent
和au focused
是指令):
使用以下命令,我的代码可以用更少的HTML处理组合:
<au-placeholder [au-disabled]="disabled" [au-accented]="accented" [au-focused]="focused"></au-placeholder>
但是呈现的HTML总是包含所有的指令,每个指令都带有一个真值。。。组件必须测试每个指令的真值才能正确响应,但如果不应用不相关的指令,则会更干净。有更好的方法吗?不支持这种方法。
只有组件可以有条件地添加/删除
你能做的就是传递一个值,让指令知道它不应该做任何事情
另请参见OK。。。这就是
表单所做的。。。
<!-- all of the prior <template [ngIf]= ... -->
<!-- plus -->
<template [ngIf]="disabled && accented">
<au-placeholder au-disabled au-accented></au-placeholder>
</template>
<template [ngIf]="disabled && accented && focused">
<au-placeholder au-disabled au-accented au-focused></au-placeholder>
</template>
<!-- etc -->
<au-placeholder [au-disabled]="disabled" [au-accented]="accented" [au-focused]="focused"></au-placeholder>