2016-09-06 42 views
0
<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> 

我与聚合物有点失落 - 我有一个设置说话的API端点,这是返回的当前版本的iron-ajax元素我应用。使用铁阿贾克斯抢串并插入到页面

我希望能够直接在页面上绑定此版本号。在上面的代码中有没有我不正确的做法?

我试着用dom-repeat模板试图抓住第一个项目,但我似乎没有得到任何东西。与试图在<small>标记内单向绑定相同。

我的理解是,如果我在dom-bind模板中,我不必定义自定义元素。

回答

1

是的,数据绑定在dom-bind模板中工作,不需要自定义元素。在你的代码

的一个问题是各地<small>

<template> 
    <small>[[versionNumber]]</small> 
</template> 

本身就是一个模板的内容template标签将不会显示/在DOM渲染。有关模板的一些详细信息,请参见http://www.html5rocks.com/en/tutorials/webcomponents/template/)。

在您的dom-bind模板中使用<small>[[versionNumber]]</small>模板与额外的模板标签应该工作。

另一个问题是,iron-ajax默认情况下会将响应当作JSON来处理,因此在接收到字符串时可能会遇到解析错误,并且last-response将不会获得任何值。

您将不得不相应地指定iron-ajax的handleAs属性。

<iron-ajax handle-as="text" ...>

而且dom-repeat将只数组。