我有一个名为MyClass
的自定义类。我的自定义元素中有List<MyClass> testList
,并希望使用数据绑定来显示列表的内容。
MyClass的:
class MyClass {
String name;
MyClass(String name) {
this.name = name;
}
}
custom_element.dart:
...
attached() {
super.attached();
var lst = new List<MyClass>();
lst.add(new MyClass('test'));
set('testList', lst);
}
...
custom_element.html:
...
<template is="dom-repeat" items="{{testList}}">
<span>{{item}}</span>
<span>{{item.name}}</span>
</template>
...
然而,输出是:
<span>[object DartObject]<span>
<span><span>
<span>[object DartObject]<span>
<span><span>
为什么不显示对象的名称?如何访问属性名称? item.name
和item['name']
都不起作用......它曾用于Polymer 0.5和相应的Polymer-Dart版本。 :(
答案 0 :(得分:3)
这有点令人困惑,因为新的聚合物版本还没有文档,但您(应该)需要做的就是让您的类扩展JsProxy
类。如果您在behaviors
分支上,则还需要使用@jsProxyReflectable
对该类进行注释。例如:
// @jsProxyReflectable // only if you are on the `behaviors` branch
class MyClass extends JsProxy {
@reflectable // from >= 1.0.0-rc.2
String name;
MyClass(String name) {
this.name = name;
}
}