我有以下结构:

<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/

10-17 02:55