我可以向指令添加输入属性,并通过传递
等值来设置它<my-component [customInput]='true'></my-component>
但是对于布尔输入属性,我无法弄清楚如何通过指令上的输入存在/不存在来设置值。即。
<my-component customInput></my-component>
当我尝试此操作时,customInput
未设置,我希望将其设置为true
。我有什么想法可以做到这一点?谢谢!
答案 0 :(得分:0)
将输出属性存在但没有值(即<my-component customInput></my-component>
)设置为空字符串""
。
所以只要我在输入中添加一个setter函数来强制赋值,<my-component customInput></my-component>
就可以工作。像
@Input() customInput(value: string | boolean) {
if (typeof value === 'string' {
this._customInput = true;
}
else {
this._customInput = value;
}
}
我还会注意到使用没有像<my-component [customInput]></my-component>
这样的值的输入绑定会导致customInput
没有设置。