我有以下结构:
<main-container data-endpoint="/api/allrecent">
<section>
<list-container data-source="{{feed.recent}}" data-type="member" data-title="Recent Members"></list-container>
</section>
</main-container>
在
main-container.js
中,我使用Promise来获取数据,例如:var self = this;
connector.get(this.dataset.endpoint)
.then(function(data) {
self.feed = JSON.parse(data);
});
现在,我想将
self.feed
作为数据源公开给list-container
。这意味着,当Promise得到解决时,它将填充列表容器的内容。我只是在访问
list-container
中的提要而感到烦恼。我已经阅读了一些SO解答和Polymer文档,但尚未找到实现此目的的正确方法。该解决方案可能很简单(例如要绑定的一个属性),但尚未找到它。
最佳答案
如果要使用绑定,则需要带有包装<auto-binding>
元素的模型的Polymer元素或<main-container>
标签。
<polymer-element name="some-element" attributes="feed">
<template>
<main-container data-endpoint="/api/allrecent" feed="{{feed}}">
<section>
<list-container data-source="{{feed.recent}}" data-type="member" data-title="Recent Members"></list-container>
</section>
</main-container>
</template>
</polymer-element>
现在,您可以将
<main-container>
和<list-container>
中的属性绑定到<some-element>
中的相同属性。关于javascript - 将父 polymer 元素数据公开给子元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26842518/