1
我有一個可觀察的地圖,它將任意對象(比如另一個地圖)映射到它們的id。當我對這些對象進行更改時,對象也應在視圖中更新。但是,我沒有得到它的工作。這裏是我的設置至今:如何更新ObservableMap中對象屬性更改的視圖?
myexample.html
<polymer-element name="my-example">
<script type="application/dart" src="myexample.dart"></script>
<template>
<style></style>
<div>
<ul>
<template repeat="{{ entry in map.values }}">
<li>{{ entry }}</li>
</template>
</ul>
<button on-click="{{change}}">Change</button>
</div>
</template>
</polymer-element>
myexample.dart
@CustomTag('my-example')
class MyExample extends PolymerElement {
@observable Map<int, String> map = toObservable({'123': {'name': 'XYZ', 'size': 12}});
MyExample.created() : super.created() {
map.changes.listen((_) => notifyPropertyChange(#map, 1, 0));
}
void change() {
var object = map['123']
object['size'] = 100;
map.notifyChange(new MapChangeRecord('123', null, object));
}
}
在點擊 'Change'-按鈕,與ID的對象' 123 '在地圖中更新,但未在視圖中更新。有沒有人有想法,如何對視圖進行更改?
不幸的是,改變地圖到'@observable地圖地圖= toObservable({ '123':toObservable({ '名稱': 'XYZ', '尺寸':12})});'不工作:該觀點仍然沒有修改。 – melmac 2014-10-16 20:56:01
我更新了我的答案。如果您更直接地處理這些值,它將無需任何額外的支持。似乎只是代碼示例中生成的'toString()'表示沒有更新(我只有一些模糊的假設)。 – 2014-10-17 13:59:38