Polymer ready()之前的初始聚合物属性

Polymer ready()之前的初始聚合物属性,polymer,custom-component,Polymer,Custom Component,在js中动态创建聚合元素时,如何在ready()事件之前初始化属性? 我的代码如下: var el = document.createElement("my-elem"); el.setAttribute("myAttr", 123); // or el.myAttr = 123. ready()事件在设置myAttr之前触发。实际上,我希望它能像HTML那样工作: var div = document.createElement("DIV"); div.innerHTML('<my-e

在js中动态创建聚合元素时,如何在ready()事件之前初始化属性? 我的代码如下:

var el = document.createElement("my-elem");
el.setAttribute("myAttr", 123); // or el.myAttr = 123.
ready()事件在设置myAttr之前触发。实际上,我希望它能像HTML那样工作:

var div = document.createElement("DIV");
div.innerHTML('<my-elem myAttr="123"></my-elem>');
var el = div.children[0];

为什么要在ready事件之前使用断言?ready()事件发生在创建元素之后,因此您看到的行为是正常的,即使不是为您准备的。我能问一下为什么ready()事件如此重要吗?您还可以使用其他生命周期事件:domReady()、attributeChanged()…@LostInBrittany和Mohammand,我需要ready(),因为我想初始化依赖于所有已发布属性的内部状态。例如,您想调用自己的create()方法,该方法依赖于myAttrA,myAttrB。若您在ready()中调用create(),它对HTML方式有好处,但对JS方式有好处。现在,我的解决方案是在JS中的所有setAttributes之后调用create(),并在ready()中调用它,因为有时它以HTML方式使用,需要一个布尔变量“isCreated”,以避免多次调用create()。
var el = document.createElement("my-elem", { myAttr: 123});