【发布时间】:2015-06-29 11:43:42
【问题描述】:
需要在另一个聚合物元素的脚本中动态创建聚合物元素办公室列表,如下所示:
<dom-module id="contacts-tag">
<template>
<iron-ajax ... on-response = "handleResponse"></iron-ajax>
</template>
<script>
Polymer({
is: "contacts-tag",
handleResponse: function(request){
var response = request.detail.response;
this.officesRegions = response.officesRegions;
this.officesCities = response.officesCities;
var dynamicEl = document.createElement("offices-list");
dynamicEl.setAttribute("regions", this.officesRegions);
dynamicEl.setAttribute("cities", this.officesCities);
document.body.appendChild(dynamicEl);
}
});
</script></dom-module>
但是,一旦它到达“document.createElement("offices-list");”这个新标签中的元素开始渲染,并且它的就绪方法已经被调用,而我期待它们在我设置属性后发生。我该怎么做?
编辑:似乎问题的性质不同。我正在将对象设置为属性,并且“offices-list”标签无法识别它们,因此无法访问它或遍历它。然后,我的问题将变为“如何绑定对象?”
【问题讨论】:
-
你在
ready回调中做了什么?如果你想等待渲染直到元素被添加然后使用attached回调 -
即使我把所有东西都准备好连接上,我仍然有本地 dom 立即渲染的问题。本地 dom 中的元素需要属性才能正确渲染,但是因为属性是在 createElement 之后添加的,所以我无法控制它被渲染。正如我在问题中所说,问题在于它不是等到它实际附加,而是在 createElement 之后渲染而不等待属性
标签: javascript polymer