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
属性时执行。将忽略所有其他更改