首先:我对zk很新。我尝试创建一个可以进行大量客户端处理的组件(想想图像编辑)。因此,我想创建一个窗口小部件,在“构建时”创建它自己的子窗口小部件。
但是虽然我确实找到了很多关于如何来实例化小部件的文档,但我没有找到关于何时执行此操作的提示。换句话说:
ZK如何调用我的小部件,我应该在我的小部件javascript中覆盖哪种方法来生成孩子?
答案 0 :(得分: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);
},