core-list-dart模板如何绑定到模型本身

时间:2014-09-19 09:25:41

标签: data-binding dart dart-polymer core-elements

我在Polymer Dart应用程序中使用<core-list-dart>元素:

<core-list-dart data="{{data}}">
  <template>
        <span>{{name}}</span>
  </template>
</core-list-dart>

数据是Foo的数组,其中Foo是:

class Foo {
  String name;
  ...
}

在模板中可以参考Foo实例而不是他的字段吗?

类似的东西:

<core-list-dart data="{{data}}">
  <template>
        <foo-element foo="{{ITEM}}"></foo-element>
  </template>
</core-list-dart>

2 个答案:

答案 0 :(得分:2)

从core_elements的版本 0.4.0 ,模型在模板中公开为model变量。

旧回复

要绑定项目,您可以使用{{}}注释,如@GünterZöchbauer答案中所述:

<foo-element foo="{{}}"></foo-element>

问题是数组中的元素是由ListModel类包装的。 “真实”元素是不可访问的(也许可以修改库以提供这种可能性)。

解决方法是将getter放到模型对象(Foo)中,如下所示:

class Foo {
 String name;
 Foo get self => this;
 ...
}

所以在模板中你可以这样做:

<foo-element foo="{{self}}"></foo-element>

答案 1 :(得分:0)

我刚试过它并且有效。

<foo-element foo="{{}}"></foo-element>

请参阅https://pub.dartlang.org/packages/polymer_expressions - 重复模板