Titanium 钛合金获得视野中的视野值

Titanium 钛合金获得视野中的视野值,titanium,titanium-alloy,Titanium,Titanium Alloy,我一直在构建我的第一个钛合金应用程序,我有一个5步注册表单,它有不同的表单字段分布在5个视图中。在我的最后一步中,我想发布表单元素的值。访问每个字段值的最佳方式是什么?在screen5中,如何在screen1视图中获取$.name字段的值 以下是我的一些代码: <ScrollableView id="indexSV" showPagingControl="false" scrollingEnabled="false" top="0"> <Require

我一直在构建我的第一个钛合金应用程序,我有一个5步注册表单,它有不同的表单字段分布在5个视图中。在我的最后一步中,我想发布表单元素的值。访问每个字段值的最佳方式是什么?在screen5中,如何在screen1视图中获取$.name字段的值

以下是我的一些代码:

<ScrollableView id="indexSV" showPagingControl="false" scrollingEnabled="false" top="0">
            <Require src="screen1" id="screen1"></Require>
            <Require src="screen2" id="screen2"></Require>
            <Require src="screen3" id="screen3"></Require>
            <Require src="screen4" id="screen4"></Require>
            <Require src="screen5" id="screen5"></Require>
        </ScrollableView>
以下是屏幕的结构:

<Alloy>
<View>
    <Label top="20">YOUR NAME:</Label>
    <TextField top="5" id="name" />
    <Button top="20" right="10%" id="btnNext" width="120" onClick="next" class="next">NEXT STEP</Button>
</View>
</Alloy>

下面是获取值的方法

   function next(e) {
    var value = $.name.value;
   }

谢谢

目前我可以想到以下两种方法:

一,。在alloy.js中定义全局JSON对象:

在alloy.js中,定义全局变量如下:

Alloy.Globals.signUpValues = {
  name : "",
  email : ""
}; 
现在在屏幕的控制器中,将获取的值分配给Alloy.Globals.signUpValues。对于screen1的控制器,您可以执行以下操作:

function next() {
  Alloy.Globals.signUpValues.name = $.name.value;
}
最后,您可以使用以下命令获取所需屏幕中的所有值:

var signupJSON = Alloy.Globals.signUpValues;
二,。在required view中使用回调:您可以触发required屏幕控制器中的函数,并访问view控制器发送回主控制器的响应。因此,您可以执行以下操作:

在主控制器中:

在screen1的控制器中:

在screen5的控制器中:


附言:在国际海事组织,选项1更清洁,更易于维护。

谢谢。这正是我需要的。
$.screen1.callback(function(name)
{
  $.screen5.initName(name); //pass name value to screen5's controller
});
var nextCallback;
exports.callback = function (callback)
{
  nextCallback = callback;
};

function next(e) {
  nextCallback($.name.value);
}
var name;
exports.initName = function (nameVal)
{
  name = nameVal;
};