Angular组件中如何将变量绑定到input的autocomplete原生属性?
解决Angular中input原生autocomplete属性绑定报错的问题
你遇到的报错是因为Angular把[autocomplete]当成了组件/指令的输入属性解析,但autocomplete是原生HTML特性(attribute),并非Angular指令或input DOM元素的可绑定属性,所以会提示找不到对应属性。
正确的做法是使用Angular的原生特性绑定语法,在属性名前加上attr.前缀,明确告知Angular要绑定的是HTML原生特性:
<input [attr.autocomplete]="disableAutocomplete ? 'off' : 'on'">
TS里的变量定义保持不变即可:
disableAutocomplete: boolean;
原理补充:Angular的[property]语法默认绑定DOM对象的属性(比如input的value DOM属性),而HTML特性(如autocomplete)需要通过attr.前缀来绑定,这样Angular就能正确将表达式结果设置为input元素的原生autocomplete特性值。
内容的提问来源于stack exchange,提问作者Bence Szabó
相关产品推荐
相关产品推荐

