无法访问嵌套模板/重复模板中的元素

Can't access elements in a nested template/repeating template?

本文关键字:元素 嵌套 访问      更新时间:2023-09-26

我已经搜索了这个,所有的答案都使用了我没有经验的Dart。

有没有办法用常规的 ol' JS 做到这一点?

this.$.classname仅返回null .

编辑:这是我正在尝试做的事情的一个例子

<template repeat="{{item, i in items}}">
    <div id="accordheader" on-click="{{toggle}}">{{item}}</div>
    <core-collapse id="collapse">
        <p>asdf</p>
    </core-collapse>
</template>

和脚本:

toggle: function () {
    this.$.collapse.toggle();
    console.log('toggled');
}

我正在尝试制作基于核心折叠的手风琴,虽然this.$.collapse.toggle();控制台.log当它不在repeat为属性的template中时工作,当它在以repeat为属性的template中时不起作用。我已经尝试了this.$.collapse.toggle();this.shadowRoot.querySelectorAll('#collapse');,但在重复的模板中都没有找到它。

$不允许

访问template if=template repeat=中的元素。请改用shadowRoot.querySelector('someselector')。(不确定 JavaScript 中的语法到底如何,我只在 Dart 中使用它(。