Доступ к элементам формы в представлении из другого контроллера

Пытаюсь обновить текст метки в виде из моего основного контроллера.

У меня есть 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";
Другие вопросы по тегам