2014-09-19 105 views
2

我用我的高分子达特应用<core-list-dart>元素:核心列表镖模板如何绑定到模型本身

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

数据是美孚的数组,其中美孚是:

class Foo { 
    String name; 
    ... 
} 

它可能在模板中引用Foo实例而不是他的字段?

喜欢的东西:

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

回答

2

从core_elements模型公开为模板model变量的版本0.4.0

旧响应

要绑定的项目,你可以使用{{}}注释作为@君特Zöchbauer答案解释:

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

的问题是,数组中的元素由ListModel类包装。 “真正的”元素是不可访问的(也许图书馆可以修改这个可能性)。

的解决方法是将一个getter的模型对象(美孚)是这样的:

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

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

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

我再次尝试过,而且目前我也看不到另一个解决方案。我创建了这个问题https://github.com/dart-lang/core-elements/issues/112。 – 2014-09-19 10:55:26

+0

我只是碰到同样的事情。很烦人。感谢您提供解决方法。不漂亮,但希望能诀窍 – Anders 2014-09-28 01:15:50

0

我只是尝试它和它的作品。

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

看到https://pub.dartlang.org/packages/polymer_expressions - 重复模板

+0

我试着和我” m得到a:例外:类型'_ListModel'不是'value'类型'Foo'的子类型。正如我可以从https://github.com/dart-lang/core-elements/blob/master/lib/core_list_dart.dart看到的那样,数组中的元素被包装在一个ListModel类中。 – Fedy2 2014-09-19 10:17:45

+0

好吧,我只是尝试,如果'东西'被分配。我会仔细看看。 – 2014-09-19 10:30:58

+0

在JS中https://github.com/dart-lang/core-elements/issues/112 中解决了暴露模板内部数据项的相关问题希望这将在下一次更新中落入Dart核心元素。 – 2014-10-01 14:35:30