【发布时间】:2016-02-18 18:11:37
【问题描述】:
我正在尝试将 ObservableList 绑定到模板,但我对它的工作方式有点困惑。在下面的示例中,当我单击按钮时,通过迭代元素显示的列表的实例会更新,但直接使用的实例不会更新。
飞镖:
@CustomTag('my-observing-list')
class ObservingList extends PolymerElement {
ObservingList.created() : super.created();
@observable ObservableList theList = new ObservableList.from([0, 1, 2, 3, 4]);
addElement(var x) {
theList.add(5);
}
}
html:
<polymer-element name="my-observing-list">
<template>
<template repeat="{{l in theList}}">
{{l}}
</template>
{{theList}}
<button on-click="{{addElement}}"></button>
</template>
</polymer-element>
进一步增加了我的困惑,如果我向我的元素添加一个可观察的整数,将它包含在模板中,并在单击按钮时更新它,它会导致列表的 both 实例单击按钮时更新。
飞镖:
class ObservingList extends PolymerElement {
ObservingList.created() : super.created();
@observable ObservableList theList = new ObservableList.from([0, 1, 2, 3, 4]);
@observable var number = 0;
addElement(var x) {
theList.add(5);
number = 1;
}
}
html:
<polymer-element name="my-observing-list">
<template>
<template repeat="{{l in theList}}">
{{l}}
</template>
{{theList}}
{{number}}
<button on-click="{{addElement}}"></button>
</template>
</polymer-element>
有人能解释一下这里发生了什么吗?
【问题讨论】:
标签: dart polymer dart-polymer