2014-06-20 70 views
0

我想刷新一些圖形用戶界面的東西后,我的組件被連接和加載。 我用如下事情:組件onload不再被解僱

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

但它似乎沒有工作了。回調永遠不會被調用。我將兩個Chrome(Ubuntu上的32到36.0.1985.67測試版)和Polymer更新爲最新的主控。

任何想法,爲什麼它不會工作了?

謝謝

回答

3

我很驚訝這實際上工作過。 AFAICT,onload僅在具有資源(img,iframe,framset,窗口)時觸發某些元素。

onload是不可能的信號符合規格爲組件。由作者決定何時該組件可以發出網絡請求,查詢數據庫等。load的定義很難確定。

根據您的組件的作用,您可以使用domReady()回調函數作爲元素附加到文檔並準備好時的信號。或者,您可以使用this.fire('load')在內部設置完成後的適當時間觸發自定義事件。

+0

是的,我很驚訝這是工作太多,但我認爲這onload事件可能是網絡的組件或聚合物相關的事情。無論如何,感謝您的信息,我會以這樣或那樣的方式解決我的問題。謝謝 – Nicolas

0

只要聚合物準備就緒,您就可以使用ready事件來執行任務。

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

或者定期

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