Polymer 聚合物铁ajax在重复模板中的应用

Polymer 聚合物铁ajax在重复模板中的应用,polymer,Polymer,如何加载json文件并在重复模板中使用数据?此代码不会生成任何内容: <dom-module id="name-list"> <template> <iron-ajax auto url="names.json" handleAs="json" lastResponse="{{data}}"></iron-ajax> <template is="dom-repeat" items="{{data}}"&

如何加载json文件并在重复模板中使用数据?此代码不会生成任何内容:

<dom-module id="name-list">
    <template>
        <iron-ajax auto url="names.json" handleAs="json" lastResponse="{{data}}"></iron-ajax>
        <template is="dom-repeat" items="{{data}}">
            <div>First name: <span>{{item.firstName}}</span></div>
            <div>Last name: <span>{{item.lastName}}</span></div>
        </template>
    </template>
</dom-module>

<script>
    Polymer({
        is: "name-list"
    });
</script>
我想要以下内容:

<div>First name: <span>John</span></div>
<div>Last name: <span>Smith</span></div>
<div>First name: <span>Jane</span></div>
<div>Last name: <span>Doe</span></div>
名字:约翰
姓:史密斯
名字:简
姓氏:Doe

我在代码的其他地方加入了iron ajax。我已经测试了一般功能。它可以工作,只是不在数据绑定的上下文中。

您的json文件格式错误。应该是这样的:

    [
        {
            "firstName": "John",
            "lastName": "Smith"
        },
        {
            "firstName": "Jane",
            "lastName": "Doe"
        }
    ]

首先,正如vasek所说,您的JSON是不正确的
dom repeat
需要一个数组来迭代,而您的JSON当前正在返回一个对象。其次,您正在错误地访问
ironajax
元素上的属性。作为国家

为了使用属性配置元素的大小写属性,属性名称中应该使用破折号-case

您正在尝试设置
handleAs
lastResponse
。要执行这些操作,您需要将其更改为仪表板箱:

<iron-ajax auto url="names.json" handle-as="json" last-response="{{data}}"></iron-ajax>


否则,其他一切都应该正常工作。

我也遇到了类似的代码,不幸的是,上面的答案并没有为我解决这个问题。
但是,当我将
元素放在
之后时,它对我起了作用。

Gah!当然不过还是不行。在检查Chrome中的元素时,我看到的只是#文档片段。@Squis尝试将json文件修改为:{“list”:[…]}。在模板中,将items属性设置为{{data.list}。更正后的JSON代码仍然错误。删除最高级别的对象。
<iron-ajax auto url="names.json" handle-as="json" last-response="{{data}}"></iron-ajax>