Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在polymer dart 1.0.0.rc2中对本地dom执行querySelectorAll?_Dart_Dart Polymer_Polymer 1.0 - Fatal编程技术网

如何在polymer dart 1.0.0.rc2中对本地dom执行querySelectorAll?

如何在polymer dart 1.0.0.rc2中对本地dom执行querySelectorAll?,dart,dart-polymer,polymer-1.0,Dart,Dart Polymer,Polymer 1.0,我想对聚合元素的本地dom执行querySelectorAll。我想这样做很简单: querySelectorAll("some selector"); 这不是一个好主意,因为所有这些模糊的shady/shadowdom实现细节。我尝试了几种不同的方法: var lst = Polymer.dom(root).querySelectorAll(".qtest"); 给出了js数组的包装器: 给出ElementList的实现: 只是简单的元素列表: 简而言之:调用从本地dom返回元素列表

我想对聚合元素的
本地dom
执行
querySelectorAll
。我想这样做很简单:

querySelectorAll("some selector");
这不是一个好主意,因为所有这些模糊的shady/shadowdom实现细节。我尝试了几种不同的方法:

var lst = Polymer.dom(root).querySelectorAll(".qtest");
给出了js数组的包装器:

给出
ElementList
的实现:

只是简单的元素列表:

简而言之:调用从
本地dom
返回
元素列表的
querySelectorAll()
的正确方法是什么

Polymer.dom(root).querySelectorAll('some selector');
使用此Polymer API可确保即使在使用shady DOM或shadow DOM多边形填充时也能得到所需


另请参见

我不知道这是否适用于dart,但您是否尝试过使用
this.queryselectoral()
?据我所知,它返回一个节点列表,这可能是您想要的(这里有一个快捷方式),因为我相信在Dart中调用
this.method()
method()
没有区别。
Polymer.dom(this.queryselectoral()
返回
light dom
中的元素,但我需要查询
本地dom
。当然,我可以将
this
更改为
root
,但还有另一个问题:返回的列表不是
ElementList
类型(例如,我可以使用
querySelectorAll().onClick
,但这里没有
Polymer.dom(this.querySelectorAll('').onClick
)。对不起,我混淆了本地dom和轻型dom。没错,这是这个API的一个限制。在JS中无法创建ElementList。解决方法是
.forEach((e)=>e.onClick)
谢谢。因此,我似乎需要创建自己的
ElementsList
实现,因为一些现有发布包(如)使用
ElementList
类的成员。启用阴影DOM可能有助于我假设阴影DOM可以正常使用浏览器API(如以前的Dart版本)我还没仔细看。另见
var lst3 = convertToDart(Polymer.dom(root).querySelectorAll(".qtest"));
Polymer.dom(root).querySelectorAll('some selector');