我在聚合物1.0.2中使用铁质ajax和数据绑定时遇到问题。甚至稍微改变的example from the Polymer documentation都无法正常工作。

这是我所做的更改的代码:

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <script src="../../../bower_components/webcomponentsjs/webcomponents-lite.js"></script>
    <link rel="import" href="../../../bower_components/polymer/polymer.html">
    <link rel="import" href="../../../bower_components/iron-ajax/iron-ajax.html">

</head>
<body>

<template is="dom-bind">

    <iron-ajax
            auto
            url="http://jsonplaceholder.typicode.com/posts/"
            lastResponse="{{data}}"
            handleAs="json">
    </iron-ajax>

    <template is="dom-repeat" items="{{data}}">
        <div><span>{{item.id}}</span></div>
    </template>

</template>

<script>
    (function (document) {
        'use strict';

        var app = document.querySelector('#app');

        window.addEventListener('WebComponentsReady', function() {
            var ironAjax = document.querySelector('iron-ajax');
            ironAjax.addEventListener('response', function() {
                console.log(ironAjax.lastResponse[0].id);
            });
            ironAjax.generateRequest();
        });

    })(document);

</script>
</body>
</html>


我所做的只是输入URL以获取真实的JSON响应并设置auto和handleAs属性。我还为响应事件添加了一个带有侦听器的小脚本。侦听器工作正常并且可以处理响应,但不会呈现dom-repeat模板中的跨度。

我正在使用聚合物1.0.2和铁元素1.0.0

最佳答案

看来您的文档在示例的-属性中缺少了lastresponse字符。

您必须将lastResponse更改为last-response
在iron-ajax github页面上查看this示例。

10-05 20:46
查看更多