Аналоги onEntityInitialized, this.get(), this.set() в мобильном приложении
Всем доброго времени суток.
Версия 7.10.
Продолжаю изучать мобильное приложение. Собственно, вопрос вынесен в заголовок темы.
Рассмотрим ситуацию на примере страницы Контакта. У нас есть схема MobileContactPreviewPage, я на её основе создал свою UsrMobileContactPreviewPage и внутри Ext.define("ContactPreviewPage.Controller", {}); добавил метод (нашёл в других схемах):
this.callParent(arguments);
console.log("initialized");
}
Далее подключил свою схему с созданным методом в MobileApplicationManifestDefaultWorkplace.
Правильно ли я понял, что этот метод - и есть аналог onEntityInitialized? По крайней мере очень на то похоже, я попробовал внутри него обратиться к элементу DOM по id - и получил нужный элемент.
Второй вопрос, это как в мобильном приложении получать и подставлять данные в колонки?
В браузерной версии для этого используются удобные методы this.get("Column") и this.set("Column",data). В мобильной, как мне удалось найти, можно писать бизнес-правила, но может быть можно и по другому их добавлять?
В принципе, по текущим бизнес-задачам возможно, что подставлять данные придётся внутри initializeView, после инициализации страницы, поэтому вопросы в целом связаны.
Нравится
в контроллере можно переопределить такой метод:
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 вызывается уже после загрузки всего остального - по клику.