组件onload不再被触发

component onload not fired anymore

本文关键字:不再 onload 组件      更新时间:2023-09-26

我想在我的组件被附加和加载后刷新一些GUI的东西。我过去常常这样做:

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

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

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

谢谢

我很惊讶这竟然奏效了。AFAICT, onload仅在具有资源(img, iframe, framset, window)的某些元素上触发。

onload是元件不可能规范的信号。组件可以发出网络请求、查询数据库等,这取决于作者来确定时间。load的定义很难确定

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

您可以使用ready事件来执行任务,只要Polymer准备好了。

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

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