如何在 Dart+polymer 1.0 中使用 dom-repeat 进行简单的数据绑定?

How to do simple data binding with dom-repeat in Dart+polymer 1.0?

我脑袋疼。 (抱歉,我不懂 js)。

对于我的简单 example/learning 曲线,在我的 HTML 文件中我有:

<template is="dom-repeat" items="{{datalist}}" as="item">
  {{item}}<br>
</template>

在 Dart 文件中:

@reflectable
List<String> datalist = new List();

void rebuildDatas() {
  datalist.clear();
  datalist.add('hello');
}

不显示 'hello'。但是如果我定义:

@reflectable
List<String> data= ['one','two'];

'one'和'two'成功上市

请问如何动态更新data

rebuildDatas() 当然是调用了!)

谢谢

史蒂夫

您使用的 Polymer 版本不支持复合绑定。 这在 Polymer 1.2 (JS) 或 Polymer Dart 1.0.0-rc.5 中发生了变化。

最好的行动是升级;临时解决方法是更改​​此绑定以跨越标签的整个文本内容:

<template is="dom-repeat" items="{{datalist}}" as="item">
  <span>{{item}}<span><br>
  <!-- or   <div>{{item}}<div> -->
</template>

您需要使用 Polymer API 更新 属性 值,以便 Polymer 识别更改并更新绑定值:

@property
List<String> datalist = new List();

void rebuildDatas() {
  clear('datalist');
  add('datalist', 'hello');
}

另见 Dart Polymer 1.0 - Two-way binding works?