我在聚合物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示例。