zk:什么时候创建widget子元素?

时间:2011-07-22 07:40:53

标签: widget zk

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

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

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

1 个答案:

答案 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);
},