如何在Dart+中使用dom repeat进行简单的数据绑定;聚合物1.0?
我的脑子痛。(对不起,我不知道js) 对于我的简单示例/学习曲线,在我的HTML文件中,我有:如何在Dart+中使用dom repeat进行简单的数据绑定;聚合物1.0?,dart,dart-polymer,Dart,Dart Polymer,我的脑子痛。(对不起,我不知道js) 对于我的简单示例/学习曲线,在我的HTML文件中,我有: <template is="dom-repeat" items="{{datalist}}" as="item"> {{item}}<br> </template> {{item}} 在Dart文件中: @reflectable List<String> datalist = new List(); void rebuildDatas() {
<template is="dom-repeat" items="{{datalist}}" as="item">
{{item}}<br>
</template>
{{item}}
在Dart文件中:
@reflectable
List<String> datalist = new List();
void rebuildDatas() {
datalist.clear();
datalist.add('hello');
}
@可反射
List datalist=新列表();
无效重建(){
datalist.clear();
datalist.add('hello');
}
它不显示“你好”。但如果我定义:
@reflectable
List<String> data= ['one','two'];
@可反射
列表数据=['1','2'];
“一”和“二”已成功列出
请问如何动态更新数据
(rebuildatas()
当然会被调用!)
谢谢
Steve您使用的聚合物版本不支持化合物绑定。 这在聚合物1.2(JS)或聚合物Dart 1.0.0-rc.5中发生了变化 最好的行动是升级;临时解决方法是更改此绑定以跨越标记的整个文本内容:
<template is="dom-repeat" items="{{datalist}}" as="item">
<span>{{item}}<span><br>
<!-- or <div>{{item}}<div> -->
</template>
{{item}}
您需要使用Polymer API来更新属性值,以便Polymer能够识别更改并更新绑定值:
@property
List<String> datalist = new List();
void rebuildDatas() {
clear('datalist');
add('datalist', 'hello');
}
@属性
List datalist=新列表();
无效重建(){
清除(“数据列表”);
添加('datalist','hello');
}
另请参见谢谢。尝试了,但当它调用clear()时,在_allocateInvocationMirror中,argumentsDescriptor列表为[1,1,null]。从“polymer_base.dart”第336行中,我看到了“evaluate:source”:警告:第2行位置16:不平衡“[”在这里打开JSON.stringify([path,0,jsElement,null,2)^“evaluate:source”:错误:第2行位置44:不平衡”)'JSON.stringify([path,0,jsElement,null,2).Steve^谢谢。我注意到更新的响应。我正在使用聚合元素:^1.0.0-rc.3聚合:^1.0.0-rc.6当它调用clear('datalist')时,我得到异常:未捕获错误:TypeError:无法读取未定义堆栈跟踪的属性“splice:#0 JsObject.\u调用方法(dart:js:678)#1 JsObject.callMethod(dart:js:618)#2 HtmlElement&PolymerMixin&PolymerBase.clear(package:polymer_interop/src/polymer_base.dart:332:15)很难说。一个允许将问题复制为GitHub回购的完整项目将非常好。是的,当然可以。(那时我可能会自己发现问题!)运行时间很短。我有一个14kb的项目压缩。我还没有将内容上传到Github上(但我只是尝试了一下,但失败了)。我如何发送压缩?干杯,干杯