Dart shadowdom是否更改ID的规则

Dart shadowdom是否更改ID的规则,dart,dart-polymer,Dart,Dart Polymer,问题的答案是关于身份证的 如果“它是…”,则在元素上添加ID(例如导航) 以及进一步的评论: 因此,ID只能在页面中使用一次,但元素可以多次分类。此外,一个元素只能有一个标识符,但可以有多个分类。然而,元素可以被识别和分类 对于shadowdom,关于id的部分(在页面中)可以使用一次吗?例如,获取组件中元素的一种简单方法是为组件指定每个id的唯一性并查询它们: 在html中: 在Dart代码中: termYearsElm=shadowRoot.querySelector(“#学期年”);

问题的答案是关于身份证的

如果“它是…”,则在元素上添加ID(例如导航)

以及进一步的评论:

因此,ID只能在页面中使用一次,但元素可以多次分类。此外,一个元素只能有一个标识符,但可以有多个分类。然而,元素可以被识别和分类

对于shadowdom,关于id的部分(在页面中)可以使用一次吗?例如,获取组件中元素的一种简单方法是为组件指定每个id的唯一性并查询它们:

在html中:


在Dart代码中:

termYearsElm=shadowRoot.querySelector(“#学期年”);
amountElm=shadowRoot.querySelector(“#amount”);
ratelm=shadowRoot.querySelector(“#rate”);

在处理这个问题时,组件的多个实例并不冲突。这种方法是安全的还是坏主意?如果是安全的,那么ID的规则是否已更改?

是的,在组件的元素上使用ID是完全合法的,只要它是1)该组件的唯一ID,并且2)该组件具有阴影DOM。shadowDOM封装了彼此之间的组件。因此,您可以拥有一个id为
rate
的组件,并且在该组件中只使用一次。即使在同一页面中多次使用该组件,id也会相互封装

仅供参考,您也可以将访问器用于缩写形式。Dart代码:

termYearsElm=$['term-years'];
amountElm=$[‘金额’];
rateElm=$['rate'];

我尝试了$['term-years',但没有成功。这个“$[…]”是在哪里定义/记录的?很抱歉在my answer.Cool中添加了指向API的链接。我把“#”错放在钥匙里了。很好的样板还原。