Доступ к элементам формы в представлении из другого контроллера
Пытаюсь обновить текст метки в виде из моего основного контроллера.
У меня есть 1 контроллер: index.js Затем у меня есть 2 представления: index.xml (для iOS) и android_index.xml (для Android).
В представлении, связанном с контроллером, я могу получить доступ к таким элементам формы в моем файле index.js
$.formLabel.text = "updated text"
но с другой стороны, я храню контроллер в переменной, как. Это представление по сути является сиротой, потому что у него нет контроллера, я просто щелкнул правой кнопкой мыши и создал новое представление без контроллера.
var win=Alloy.createController('android_index').getView();
и я не могу получить доступ к элементам формы в моем index.js с помощью:
win.formLabel.text = "updated text"
когда я пытаюсь сказать, что это не определено
Любая помощь с этим вопросом будет принята с благодарностью!
1 ответ
getView()
Метод возвращает первое представление верхнего уровня вашего контроллера: https://docs.appcelerator.com/platform/latest/
Если вы хотите получить доступ к дочернему представлению, вы можете сделать это:
var win=Alloy.createController('android_index'); //reference to your controller
win.formLabel.text = "updated text";
или это тоже работает:
win.getView('formLabel').text = "updated text";