0

Пытается обновить текст ярлыка в представлении от моего основного контроллера.Доступ к элементам формы в представлении от другого контроллера

У меня есть 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/#!/api/Alloy.Controller-method-getView

Если вы хотите получить доступ к ребенку просмотра вы можете сделать это:

var win=Alloy.createController('android_index'); //reference to your controller 
win.formLabel.text = "updated text"; 

или это тоже работает:

win.getView('formLabel').text = "updated text"; 
+0

это не сработало для меня. Я получил эту ошибку: ошибка неотображаемого типа: объект # не имеет метода 'getView' 1 вещь Я не уверен, если я хорошо объяснил. Существует только 1 контроллер (index.js) и 2 вида (index.xml, android_index.xm). Представление android_xml является сиротой родов, потому что у него нет контроллера, назначенного ему, например index.js (index.js -> index.xml) (без контроллера -> android_index.xml). в основном я просто использую: win.add (userLabel); чтобы добавить вещи в представление Android, а затем открыть его с помощью win.open() –

+0

, если в представлении android_xml нет контроллера, не могу ли я получить доступ к ярлыку lblUsername в представлении android_xml? –

+0

@MikeKellogg вы уверены, что вы изменили свой код, чтобы вызвать 'Alloy.createController ('android_index'). FormLabel', а не' Alloy.createController ('android_index'). GetView(). FormLabel'? Потому что это то, что указывает ошибка. –

Смежные вопросы