2014-09-30 37 views
1

從自定義對象訪問數據我在鏢看起來像這樣定義的類以重複的列表

<polymer-element name="sidebar-list"> 
    <template> 
    <ul> 
     <template repeat="{{page in pages | enumerate}}"> 
     <li>{{page.value}}</li> // what do I call here to get the name of the page? 
     </template> 
    </ul> 
    </template> 
</polymer-element> 

和一種定義聚合物物體的方法:

@CustomTag('sidebar-list') 
class SidebarList extends PolymerElement { 
    final List<Page> pages = <Page>[new Page('Page 1'), new Page('Page 2'), new Page('Page 3')]; 

    SidebarList.created() : super.created(); 
} 

Pages是在定製聚合物中定義的Page的列表。

我的問題是這樣的:我如何從一個聚合物元素佔位符引用類中的方法?我嘗試了所有合乎邏輯的事情,如{{page.value.toString()}}{{page.value.name}}{{page.name}},但沒有任何效果。

有趣的是,如果列表是字符串而不是頁面,則{{page.value}}會按預期返回字符串。

這甚至可能嗎?

非常感謝你的幫助!如有需要,我可以提供任何澄清。

回答

1

隨着| enumerate你應該使用

<li>{{page.value.name}}</li> 

沒有| enumerate

<li>{{page.name}}</li> 

如果你不喜歡初始化

final List<Page> pages = <Page>[new Page('Page 1'), new Page('Page 2'), new Page('Page 3')]; 

您需要添加@observable領域所以Polymer會識別何時分配了新值。

@observable 
final List<Page> pages; 
+1

謝謝!您的更改與@observable標籤完美結合!我很感激幫助。 – 2014-09-30 20:31:02