我在Polymer dart组件的模板中有一个<div>
,它由组件加载的JavaScript库使用。
加载页面后,从Polymer组件的dart脚本中,我需要调用一个JavaScript函数,将它传递给在dart端创建的对象。
但是,我收到错误:
Invalid DIV id; could not get element with id: divForJS
html for Polymer元素
<script src="mylibrary.js"></script>
<polymer-element name="ele-one">
<template>
<div id="divForJS"></div>
</template>
</polymer-element>
使用Polymer元素的dart代码
var dartObj;
timeConsumingOp()
.then((result) {
dartObj = result;
})
.then((_){
var jsObj = new JsObject.jsify(dartObj.toMap());
context.callMethod('myJSFunction', [jsObj]);
});
我在调用attached()
,super.attached()
或created()
之前和之后尝试将此代码放在ready()
中,但结果相似。
如何确保仅在耗时的飞镖操作完成且其div已准备就绪后才调用JavaScript函数?