自动绑定模板中的侦听器方法? (聚合物 1.0)

Listener method inside auto-binding template? (Polymer 1.0)

<template is="dom-bind">
    <custom-element></custom-element>
    <iron-ajax auto url="data.json" handle-as="json" last-response="{{data}}" on-response="receivedResponse"></iron-ajax>
</template>

在上面的示例中,"custom-element" 需要知道 iron-ajax 何时收到响应。问题是我不知道把 "receivedResponse" 方法放在哪里。我该怎么做呢?我比较喜欢把它放在"custom-element"里面,但是不知道怎么绑定到iron-ajax.

的"on-response"事件上

我可以将“{{data}}”绑定到 "custom-element" 的 属性 并为此设置一个观察者 属性,但这感觉就像一个黑客,我'我想找出正确的方法。

<custom-element data="{{data}}"></custom-element>

为自动绑定模板分配一个 ID 以便于访问

<tempalte id="app" is="dom-bind">

然后在Javascript

中初始化模板
var app = document.querySelector('#app');

并创建函数。

app.receivedResponse = function () {
  // process response
}

如果您需要等待所有聚合物元素被标记为 dom,则您需要等待 'dom-change' 事件

app.addEventListener('dom-change', function () {
  // dom is ready to work with
});

希望这对您有所帮助...