dart - 如何在ObservableMap中更新有关对象属性更改的 View ?

标签 dart dart-polymer

我有一个可观察的 map ,它将任意对象(例如另一幅 map )映射到其ID。当我对这些对象进行更改时,这些对象也应在 View 中更新。但是,我没有使其工作。到目前为止,这是我的设置:

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));
  }
}

单击“更改”按钮时,ID为“123”的对象在 map 中更新,但在 View 中未更新。有谁知道如何将更改交付到 View ?

最佳答案

<link rel="import" href="../../packages/polymer/polymer.html">

<polymer-element name="app-element">
  <template>

    <div>
      <ul>
        <template repeat="{{ entry in map.values }}">
          <li>x{{ entry['name'] }} {{ entry['size']}}</li>
          <template repeat="{{ item in entry.values}}">
            y{{item}}
          </template>
        </template>
      </ul>
      <button on-click="{{change}}">Change</button>
    </div>
  </template>
  <script type="application/dart" src="app_element.dart"></script>
</polymer-element>

进口'package:polymer / polymer.dart';

@CustomTag('app-element')
class AppElement extends PolymerElement {

  @observable
  Map map = toObservable({'123': {'name': 'XYZ', 'size': 12}});

    AppElement.created() : super.created();

  void change() {
    var object = map['123']['size'] = 100;
  }
}

关于dart - 如何在ObservableMap中更新有关对象属性更改的 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26412559/

相关文章:

dart - <content> 在 angular.dart 组件中的使用?

list - Flutter/Dart-有关如何对 future 进行故障排除的建议?

svg - Dart 创建和转换 SVG 路径

dart - Polymer 会成功 Web UI 吗

dart - 在自己的项目中使用自定义 polymer 元素-如何正确执行?

dart - 现在,使用CoreScaffold和CoreTabs类会导致异常

dart - 如何在flutter中截取屏幕外的小部件截图?

flutter - 如何在 flutter 中过滤列表?

dart - 当准备好初始化选定的选项卡时,聚合物选择器不会触发选项卡选择更改

dart - Dart中的 polymer 元素属性