<template is="dom-bind">
<iron-ajax
auto
url="http://localhost:9000/api/version"
last-response="{{versionNumber}}"
verbose
></iron-ajax>
<template is="dom-repeat" items="{{versionNumber}}">
<small class="u-ml+">{{item.first}}</small>
</template>
<template>
<small>[[versionNumber]]</small>
</template>
</template>
我对Polymer有点遗失 - 我有一个iron-ajax
元素设置为与API端点对话,它返回我的应用程序的当前版本。
我希望能够直接在页面上绑定此版本号。我在上面的代码中做错了吗?
我尝试使用dom-repeat
模板试图抓住第一项,但我似乎没有得到任何东西。与尝试在<small>
标记内进行单向绑定相同。
我的理解是,如果我在dom-bind
模板中,我不必定义自定义元素。
答案 0 :(得分:1)
是的,数据绑定在dom-bind
模板内部工作,无需自定义元素。
代码中的一个问题是template
<small>
标记
<template>
<small>[[versionNumber]]</small>
</template>
模板的内容本身不会在DOM中显示/呈现。有关模板的一些详细信息,请参阅http://www.html5rocks.com/en/tutorials/webcomponents/template/。
使用<small>[[versionNumber]]</small>
模板内的dom-bind
和额外的模板标记应该有效。
另一个问题是,iron-ajax
默认情况下将响应处理为JSON,因此在收到字符串时可能会遇到解析错误,而last-response
将没有得到任何值。
您必须相应地指定iron-ajax的handleAs
属性。
<iron-ajax handle-as="text" ...>
dom-repeat
仅适用于数组。