[attr.name]和[name]有什么区别

时间:2020-07-08 23:06:42

标签: html angular typescript

我对[attr.name][name]有疑问,我在ts中以以下形式使用querySelectorAll =>

this._document.querySelectorAll("input[name="+'checkModel-'"]")

如果我在html中这样定义->

<input [name]="checkModel-" type="checkbox">

当我这样做时,我将nodeList清空了

<input [attr.name]="checkModel-" type="checkbox">

节点列表返回期望的一个或多个值,两者之间是否有区别?

1 个答案:

答案 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" />

彼此之间没有太大区别,属性绑定创建一个新的标志或属性,该标志或属性附加到元素上以供将来使用。它主要用于想要向元素添加一些以前没有的属性的额外数据时使用。通常用于解决属性绑定中的先前错误。

相关问题