Dart 观察聚合物1列表中项目属性的变化

Dart 观察聚合物1列表中项目属性的变化,dart,dart-polymer,Dart,Dart Polymer,我有一处房产 @property final List<Item> items = [ new Item('red', false), new Item('green', true), new Item('blue', false) ]; HTML看起来像 class Item extends JsProxy { @reflectable String color; @reflectable bool checked; Item(this

我有一处房产

  @property final List<Item> items = [
    new Item('red', false),
    new Item('green', true),
    new Item('blue', false)
  ];
HTML看起来像

class Item extends JsProxy {
  @reflectable String color;
  @reflectable bool checked;
  Item(this.color, this.checked);
}
  <template is="dom-repeat" items="{{items}}">
    <label><span>{{item.color}}</span>
      <input type="checkbox"
             value="{{item.color}}"
             checked="{{item.checked::change}}">
    </label>
  </template>

{{item.color}

我希望在任何项目中的
选中时得到通知

可以使用
@Observe('some.path')
注释设置观察者。 如果路径包含
*
,将使用包含更改实际路径的更改记录调用处理程序

@Observe('items.*')
  void updateSelectedColors(Map record, [_]) {
    String path = record['path'];
    if (path == 'items' || path.endsWith('.checked')) {
      // do something
    }
  }
}
path==“items”
应用默认值初始化
items
属性
path.endsWidth('.checked')
确保代码(
//do something
)仅在实际更改
checked
属性时执行。将忽略所有其他更改