如何在 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');
}
我脑袋疼。 (抱歉,我不懂 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');
}