我对[attr.name]
和[name]
有疑问,我在ts中以以下形式使用querySelectorAll
=>
this._document.querySelectorAll("input[name="+'checkModel-'"]")
如果我在html中这样定义->
<input [name]="checkModel-" type="checkbox">
当我这样做时,我将nodeList清空了
<input [attr.name]="checkModel-" type="checkbox">
节点列表返回期望的一个或多个值,两者之间是否有区别?
答案 0 :(得分:1)
输入HTML元素具有称为“名称”的属性。它用于设置给定控件的名称。由于某些原因,由于未关闭的标签或HTML语法错误,您的属性绑定可能无法正常工作。
属性绑定
<input [value]="yourVariableName" />
将任何给定控件或HTML元素中的属性值绑定到变量或方法。为了使其正常工作,您必须使用现有的HTML属性,例如“名称”,“最大”,“最小”,“类型”。如果您不这样做,将发生以下错误:
Template parse errors: Can't bind to 'data-username' since it isn't a known native property
属性绑定
<input [attr.name]="yourVariableName" />
彼此之间没有太大区别,属性绑定创建一个新的标志或属性,该标志或属性附加到元素上以供将来使用。它主要用于想要向元素添加一些以前没有的属性的额外数据时使用。通常用于解决属性绑定中的先前错误。