2014-09-30 46 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