Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/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
Dart 收听聚合物芯抽屉面板的点击事件;对",;路?_Dart_Dart Polymer - Fatal编程技术网

Dart 收听聚合物芯抽屉面板的点击事件;对",;路?

Dart 收听聚合物芯抽屉面板的点击事件;对",;路?,dart,dart-polymer,Dart,Dart Polymer,我有这个核心抽屉面板,希望#navicon切换抽屉。如示例中所示 使用HTML中的on click和dart文件中的以下代码,我在面板上得到一个NoSuchMethod错误 void toggleDrawer(){ 查询选择器(“#抽屉面板”)…切换面板(); } 现在我读到点击是,我完全困惑 查询元素和捕获类似事件的最佳实践方法是什么?我也看到了这一点,但它对我仍然不起作用。点击而不是点击在移动平台上提供了更好的支持点击时“包括”点击时。 另见和 您可能需要shadowRoot.queryS

我有这个核心抽屉面板,希望#navicon切换抽屉。如示例中所示

使用HTML中的on click和dart文件中的以下代码,我在面板上得到一个NoSuchMethod错误

void toggleDrawer(){
查询选择器(“#抽屉面板”)…切换面板();
}
现在我读到点击是,我完全困惑


查询元素和捕获类似事件的最佳实践方法是什么?我也看到了这一点,但它对我仍然不起作用。

点击
而不是点击在移动平台上提供了更好的支持<代码>点击时“包括”
点击时
。 另见和


您可能需要
shadowRoot.querySelector(…

请先查看Günters的答案。除此之外,我还按照建议找到了方法

HTML


菜单
标题
若抽屉隐藏,按按钮显示抽屉。
省道锉

void attached(){
super.attached();
shadowRoot.querySelector(“#navicon”)。打开['tap']。听(
(事件)=>toggleDrawer()
);
}
void toggleDrawer(){
shadowRoot.querySelector(“#抽屉面板”)…togglePanel();
}

Danke Günter!;)你能解释一下为什么我需要shadowRoot.querySelector吗?“我的HTML”中的点击是使用dart的方式还是有更好的方法?如果没有
shadowRoot
,您可以在
上调用
查询选择器
,它查询元素的子元素(在运行时放在
标记或元素中)但您希望查询阴影DOM中元素的内部标记。很高兴知道这种方法是有效的,并且在某些情况下非常有用,例如,当您动态地希望添加/删除侦听器,但通常首选以声明方式设置事件侦听器时。当您有大量的元素单独注册事件监听器时,如果强制添加的事件监听器更快,您可能会进行基准测试。