首先:我对 zk 还很陌生。我尝试创建一个进行大量客户端处理(想想图像编辑)的组件。因此,我想创建一个小部件,在“构建时”创建它自己的子小部件。
但是,尽管我确实找到了很多关于如何实例化小部件的文档,但我没有找到关于何时执行此操作的提示。换句话说:
ZK 如何调用我的小部件,我应该在我的小部件 javascript 中覆盖什么方法来生成孩子?
不确定您添加孩子的目的是什么。
但默认情况下,小部件初始化生命周期是
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);
},