可以将html元素传递给暗示值的无值属性,例如required
到input
元素。可以用角度分量做同样的事情吗?
一个例子:
<my-component required></my-component>
...
@Component({
selector: 'my-component',
})
export class MyComponent implements OnInit {
@Input() required;
constructor() { }
ngOnInit() {
console.log(this.required); // true??
}
}
答案 0 :(得分:2)
Angular不提供直接支持,但有解决方法
isRequired:boolean = false;
@Input() set required(val) {
this.isRequired = true; // only called when the attribute exists
}
或
constructor(@Attribute('required') required) {
console.log('constructor': required == '');
}
我没有测试动态添加/删除属性时的行为方式。
答案 1 :(得分:0)
无值属性作为空字符串输入。如果需要支持有价值和无值表单中的属性,请按如下方式定义setter:
[required]="..."
这也适用于属性绑定(${aspnet-request-host}
)。