删除 Dart 中所有其他 Polymer 对象实例的 class?

Remove class on all other instances of Polymer object in Dart?

我正在尝试构建一个简单的手风琴聚合物组件。我让它工作,所以当我点击列表中的一个项目时,一个 open class 被添加到显示其内容的项目中。

我不想一次打开多个项目,所以在我的点击功能中,我基本上想说:

$(".list-item").on("click", function() {
    $("list-item").removeClass("open");
    $(this).addClass("open");
} 

当然这是 jQuery 而不是 Dart...所以这对我帮助不大。

以上在 Dart 中的等价物是什么?

这是我现在正在做的事情(只打开每个点击的项目,但不关闭过程中的其他项目)。

     _openedChanged: function() {
      if (this.opened) {
        this.toggleClass('open', true);
      }
      else {
        this.toggleClass('open', false);
      }
      this.setAttribute('aria-expanded', this.opened ? 'true' : 'false');
    }

要从 Dart 中的所有 list-item 元素中删除 class,您可以这样做:

querySelectorAll('list-item').forEach((item) => item.classes.remove('open'));