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

时间:2015-11-02 23:13:50

标签: dart dart-polymer

我的大脑疼。 (对不起,我不知道js)。

对于我的简单示例/学习曲线,在我的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');
}

没有显示'你好'。但如果我定义:

@reflectable
List<String> data= ['one','two'];
成功列出

'one'和'two'

如何动态更新data

(当然叫rebuildDatas()!)

由于

史蒂夫

1 个答案:

答案 0 :(得分:2)

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

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

<head>
    <meta charset="utf-8">
    <title>Games</title>
    <link rel="stylesheet" href="main css\global.css">
    <link rel="stylesheet" href="game.css">
</head> 

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

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

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