组件onload不再被触发

时间:2014-06-20 20:43:23

标签: javascript onload polymer web-component

我想在连接和加载组件后刷新一些GUI内容。 我用来做如下:

Polymer('research-element', {
  attached: function(){
    var self = this;
    this.onload=function(){self.refresh();};
  },
...

但它似乎不再起作用了。回调永远不会被调用。我将Chrome(Ubuntu上的32到36.0.1985.67测试版)和Polymer更新为最新版本。

知道为什么它不再起作用了吗?

由于

2 个答案:

答案 0 :(得分:3)

我很惊讶这实际上是有效的。 AFAICT,onload仅在具有资源(img,iframe,framset,window)时触发某些元素。

onload是组件规格的不可能信号。由作者决定何时是......组件可以发出网络请求,查询数据库等。load的定义很难确定。

根据组件的功能,您可以使用domReady()回调作为元素附加到文档并准备就绪的信号。或者,您可以使用this.fire('load')在内部设置完成后的适当时间触发自定义事件。

答案 1 :(得分:0)

您可以在Polymer准备好后立即使用ready事件执行任务。

//In Polymer scripts         
  ready: function () {
    ...
  }

或定期

window.addEventListener('polymer-ready', function(e) {
  ...
});