2014-09-19 110 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