聚合物1.0铁-ajax调用,但响应不会触发,数据不受约束

时间:2015-07-19 08:49:04

标签: polymer-1.0

我有以下代码

node.cached_total_votes

我的问题是即使ajax调用正在发生并且数据被检索,响应“handleResponse”方法永远不会被触发,并且“ajaxResponse”也没有被填充。我试着查看不同的教程和代码演示,但我似乎无法找到我的代码有什么问题。

1 个答案:

答案 0 :(得分:2)

当使用<dom-module时,铁ajax或其他任何东西需要进入<template,因为它放在阴影dom中。

<强>例如

<dom-module id="custom-Element">
    <template>
    <iron-ajax auto ..... >
    <span>{{ajaxResponse.city.name}}</span>
    </template>
..
...
.....
</dom-module>
我会进一步解释一下。

因为您正在创建一个dom-module custom-Element并且您使用<custom-Element></custom-element>调用它来显示数据dom-module内的任何内容都需要位于<template></template>内,所以它放在阴影dom中并注册id名称custom-Element

想一想html5 <video>标签

现在通过

<video width="320" height="240" controls>
  <source src="movie.mp4" type="video/mp4">
</video>

它会播放视频。

然而,当您检查<video>时,您无法看到任何特殊的CSS,例如播放/停止暂停按钮或任何javascript,因为它放置在浏览器的Shadow Dom中并隐藏起来。

因此video标记它只是在浏览器中构建的名称,因此您可以用来播放视频。要把它放在阴影中,你需要一个<template>

用聚合物做同样的事情

<dom-module id="any-name">

<template>
...
</template>

</dom-module>

并使用它

<any-name></any-name>

与html5中的<video></video>标记相同。

这里有好文章来阅读web components以及为什么使用模板