我有一个包含列表的dart对象。简单地说:
class Test extends PolymerElement{
List list = [];
addTask(item){
list.add(item);
}
}
我想在另一个对象的列表中实现一个监听器:
class listenerClass extends PolymerElement {
Test get _data => $['Object'];
}
因此,使用getter从dom中检索对象。
有没有办法观察父母的变化?我尝试了以下方法:
@Observe("_data.list")
dataListChanged(_,__){
var item = _data.list.last;
//do magic with item.
}
我有下划线,因为它是私有的,不会暴露给Dom或任何东西......但是列表本身不是属性所以它不通知或任何东西。
我希望有办法为它做某种倾听。
我想要的endstate是每当项目被添加到列表时我想在父项中触发一个函数,只有对上面定义的子对象的引用。尽管这个_data是通过聚合物填充的,但由于这根本不是触摸属性,所以答案可能只是纯粹的飞镖。
答案 0 :(得分:0)
这不是聚合物的工作原理。 Polymer框架无法知道您在类中定义了一个getter并发出了正确的通知。
您应该将list
添加到Test
的{{1}}属性,并将其绑定到listenerClass
中的媒体资源。然后观察那个变量。
但是你可能会更好地使用ObservableList
并使用autonotify来更简单地使用聚合物飞镖项目的可观察性。