从不同的控制器访问视图中的表单元素
Accessing Form Elements in a view from a different Controller
正在尝试从我的主控制器更新视图中的标签文本。
我有 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"
当我尝试时它说它是未定义的
非常感谢任何对此问题的帮助!
getView()
方法 return 控制器的第一个顶级视图: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";
正在尝试从我的主控制器更新视图中的标签文本。
我有 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"
当我尝试时它说它是未定义的
非常感谢任何对此问题的帮助!
getView()
方法 return 控制器的第一个顶级视图: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";