html - [attr.name] 和 [name] 有什么区别
问题描述
我有一个关于[attr.name]
and的问题[name]
,我querySelectorAll
在我的 ts 中使用下一种形式 =>
this._document.querySelectorAll("input[name="+'checkModel-'"]")
如果我像这样在 html 中定义->
<input [name]="checkModel-" type="checkbox">
我得到了 nodeList 为空,而我这样做
<input [attr.name]="checkModel-" type="checkbox">
节点列表返回预期的值/值,它们之间有什么区别吗?
解决方案
输入 HTML 元素有一个名为“name”的属性。它用于设置给定控件的名称。由于某些原因,您的属性绑定可能由于未关闭的标记或 HTML 语法错误而无法正常工作。
属性绑定
<input [value]="yourVariableName" />
将任何给定控件或 HTML 元素中的属性值绑定到变量或方法。要使其正常工作,您必须使用现有的 HTML 属性,例如“name”、“max”、“min”、“type”。如果不这样做,将出现以下错误:
Template parse errors: Can't bind to 'data-username' since it isn't a known native property
属性绑定
<input [attr.name]="yourVariableName" />
与另一个没有太大不同的是,属性绑定创建了一个新的标志或属性,该标志或属性附加到元素以供将来使用。它主要用于当您想向具有以前没有的属性的元素添加一些额外的数据时。常用于从属性绑定解决之前的错误。
推荐阅读
- javascript - How to sort by object property with a minus sign in mongoose?
- javascript - Adding the function parameters to an empty array
- python - Python 到 C++ 数据结构 API
- python - Python递归多处理 - 线程太多
- database - 最佳时间序列大数据数据库
- android - 1分钟后如何停止截击请求
- firebase - 在 Firebase 函数中更新没有 id 的对象子对象
- git - Git: is there a way to stash a diff result from two branches?
- python - 如何使用 while 语句确保一维数组有效?
- c - 了解 C 与其对应的汇编语言