зк: когда создавать виджеты детей? - PullRequest
4 голосов
/ 22 июля 2011

Во-первых, я довольно новичок в zk. Я пытаюсь создать компонент, который выполняет большую часть обработки на стороне клиента (например, редактирование изображений). Поэтому я хотел бы создать виджет, который создает собственные дочерние виджеты во время «строительства».

Но хотя я нахожу много документации по , как создавать экземпляры виджетов, я не могу найти подсказки, когда это делать. Другими словами:

Как ZK вызывает мой виджет, какой метод мне следует переопределить в JavaScript моего виджета для генерации потомков?

1 Ответ

5 голосов
/ 09 августа 2011

Не уверен, какова ваша цель для добавления ребенка.

Но по умолчанию жизненный цикл инициализации виджета равен

1.widget. $ Init () // Конструктор виджета JS

2.widget.redraw_ // вывод html, на самом деле это «плесень».

3.widget.bind_ // привязывает событие к html, и рабочий стол запускается.

Если вы планируете создать составной виджет, Как и календарь в Datebox, вы можете ссылаться на функцию $ init в Datebox. :)

Дайте мне знать, если вам нужна дополнительная информация.

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