Аналоги onEntityInitialized, this.get(), this.set() в мобильном приложении

Всем доброго времени суток.

Версия 7.10.

Продолжаю изучать мобильное приложение. Собственно, вопрос вынесен в заголовок темы.

Рассмотрим ситуацию на примере страницы Контакта. У нас есть схема MobileContactPreviewPage, я на её основе создал свою UsrMobileContactPreviewPage и внутри Ext.define("ContactPreviewPage.Controller", {}); добавил метод (нашёл в других схемах):

initializeView: function(){
                this.callParent(arguments);
                console.log("initialized");
        }

Далее подключил свою схему с созданным методом в MobileApplicationManifestDefaultWorkplace.
Правильно ли я понял, что этот метод - и есть аналог onEntityInitialized? По крайней мере очень на то похоже, я попробовал внутри него обратиться к элементу DOM по id - и получил нужный элемент.

Второй вопрос, это как в мобильном приложении получать и подставлять данные в колонки?

В браузерной версии для этого используются удобные методы this.get("Column") и this.set("Column",data). В мобильной, как мне удалось найти, можно писать бизнес-правила, но может быть можно и по другому их добавлять?

В принципе, по текущим бизнес-задачам возможно, что подставлять данные придётся внутри initializeView, после инициализации страницы, поэтому вопросы в целом связаны.

Нравится

4 комментария

в контроллере можно переопределить такой метод:

onLoadRecord: function (loadedRecord, callback) {

/*loadedRecord - собственно сама запись*/

this.callParent(arguments);

/* после вызова родителя запись доступна во всем контроллере через this.record
и уже ей можно делать get и set
*/
}

Огромное спасибо!

Но есть вопрос:

loadedRecord, как я понял, работает только внутри функции? Например, сделал я кнопку, по инструкции из соседней темы, в функции-обработчике добавил:

onRefreshButtonTap: function(loadedRecord) {
        console.log(loadedRecord);
        loadedRecord.set("Probability",90, true)
 },

На set вываливается ошибка - не находит, куда добавить. Как быть в этом случае? Понятно, что onRefreshButtonTap вызывается уже после загрузки всего остального - по клику.

Если не потерялся scope, то - this.record.set

Спасибо!

Работает.

Показать все комментарии