我在Polymer 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
答案 0 :(得分:10)
在示例的-
属性中,您似乎缺少lastresponse
字符的文档。
您必须将lastResponse
更改为last-response
。
请查看iron-ajax github页面中的this示例。
答案 1 :(得分:2)
当你在元素上使用属性时,你必须将camelcase句子转换为破折句,我的意思是:
lastResponse是映射到最后响应