我正在尝试将app-route的参数传递给未定义的自定义元素。我可以在文件中显示该参数,但在自定义元素中,它未定义。以下是我的代码,请帮我检查一下如何修复它。感谢。
在自定义元素文件中,getid
未定义。
我的档案
<app-route
route="[[route]]"
pattern="/:slug/:id"
data="{{routeData}}"></app-route>
<!-- display correctly -->
[[routeData.id]]
<myelement-http-get
id="getCategoryData"
getid="[[routeData.id]]"
geturl="http://localhost:9000/polymer/category/"
jsonobject="{{jsonobject}}"
failure="{{failure}}"></myelement-http-get>
自定义元素
<script>
Polymer({
is: 'myelement-http-get',
properties: {
geturl: String,
getid: String,
jsonobject: {
type: Object,
notify: true
},
failure: {
type: Boolean,
notify: true,
readOnly: true
}
},
ready: function () {
/* undefined found this.getid */
this.$.ajaxData.url = this.geturl + this.getid;
this.$.ajaxData.generateRequest();
},
handleResponse: function (data) {
this.jsonobject = data.detail.response;
}
});
</script>
答案 0 :(得分:1)
相反,您应该使用complex observer来观察 您应该从numpy
和getid
的数据绑定效果在 geturl
回调之后发生,因此您不想操纵这些属性。< / p>
ready
和getid
。只有在定义和更改两个属性时才会调用此观察者(此行为在Polymer 2.0中稍有变化)。geturl
中删除更改,并添加如下所示的复杂观察者:ready