【发布时间】:2017-01-22 14:22:49
【问题描述】:
我和这个问题有同样的问题:“Polymer How to pass returned iron-ajax string into another polymer element”,但是答案并没有解决我的问题。
我有两个自定义元素(如下),我想将来自<iron-ajax> 的响应绑定到a-pagination 的属性(pagination_options)中。在a-pagination 中,如果我使用console.log 检查属性值,pagination_options 始终记录为undefined。我绑定的另一个属性 (url) 总是被填充。为什么pagination_options 未定义?
table-list 元素:
<dom-module id="table-list">
<link rel="stylesheet" href="table-list.css" />
<template>
<iron-ajax url=[[url]] last-response={{response}} params=[[params]] auto></iron-ajax>
<template is="dom-repeat" items="{{response.data}}" as="item">
<div>[[item.content]]</div>
</template>
<a-pagination url=[[url]] pagination_options={{response.pagination}}></a-pagination>
</template>
<script>
Polymer({
is: "table-list",
properties: {
url: String,
params: Object
}
});
</script>
</dom-module>
a-pagination 元素:
<dom-module id="a-pagination">
<script>
Polymer({
is: "a-pagination",
properties: {
url: String,
pagination_options: Object
},
ready: function(){
console.log(this.url);
console.log(this.pagination_options);
}
});
</script>
</dom-module>
用法:
<table-list url="http://localhost/api/v1/article" params='{"page": 1}'></table-list>
AJAX 响应示例:
{
"status": "success",
"data": [{
"id": "1",
"content": "content 1"
},
{
"id": "2",
"content": "content 2"
}],
"pagination": {
"total_page": 1,
"per_page": 10,
"current_page": "1"
}
}
【问题讨论】:
标签: javascript polymer polymer-1.0