2011-07-22 36 views
4

首先:我對zk比較陌生。我嘗試創建一個組件,進行大量的客戶端處理(思考圖像編輯)。因此,我想創建一個小部件,在'施工時間'創建它自己的子部件。zk:何時創建窗口小部件的孩子?

雖然我在上找到很多文檔,但是如何來實例化小部件,我無法找到何時執行它的提示。換句話說:

ZK如何調用我的窗口小部件,我應該在我的窗口小部件中重寫什麼方法來生成子窗口?

回答

5

不知道你添加孩子的目的是什麼。

但默認情況下,窗口小部件初始化生命週期

1.widget。$的init()// JS窗口部件的構造

2.widget.redraw_ //輸出HTML,它實際上是 「模子」。

3.widget.bind_ //將事件綁定到html,並且桌面被inited。

如果您打算構建一個複合控件, 與Datebox中的日曆類似,則可以引用Datebox中的$ init函數。 :)

讓我知道你是否需要進一步的信息。

https://github.com/zkoss/zk/blob/5.0/zul/src/archive/web/js/zul/db/Datebox.js

function _initPopup() { 
    this._pop = new zul.db.CalendarPop(); 
    this._tm = new zul.db.CalendarTime(); 
    this.appendChild(this._pop); 
    this.appendChild(this._tm); 
} 

$init: function() { 
    this.$supers('$init', arguments); 
    this.afterInit(_initPopup); 
    this.listen({onChange: this}, -1000); 
}, 
相關問題