4

首先:我对 zk 还很陌生。我尝试创建一个进行大量客户端处理(想想图像编辑)的组件。因此,我想创建一个小部件,在“构建时”创建它自己的子小部件。

但是,尽管我确实找到了很多关于如何实例化小部件的文档,但我没有找到关于何时执行此操作的提示。换句话说:

ZK 如何调用我的小部件,我应该在我的小部件 javascript 中覆盖什么方法来生成孩子?

4

1 回答 1

5

不确定您添加孩子的目的是什么。

但默认情况下,小部件初始化生命周期是

1.widget.$init() //JS小部件构造函数

2.widget.redraw_ // 输出html,其实就是“模具”。

3.widget.bind_ // 将事件绑定到 html ,并初始化桌面。

如果您打算构建一个复合小部件,例如 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);
},
于 2011-08-09T01:20:37.040 回答