Titanium 如何传递多个参数并将数据值输入另一个屏幕

Titanium 如何传递多个参数并将数据值输入另一个屏幕,titanium,titanium-mobile,titanium-modules,Titanium,Titanium Mobile,Titanium Modules,将值从一个屏幕传递到另一个屏幕时,第二个参数未定义 // First Screen Code. args [] = {name:'ABCD',value:'1234'}; argsToken [] = {token:'ABC123DEF456',value:'VALID'}; var Window = Alloy.createController('SecondView',args,argsToken).getView(); // Second Screen Code

将值从一个屏幕传递到另一个屏幕时,第二个参数未定义

// First Screen Code.

    args [] = {name:'ABCD',value:'1234'};
    argsToken [] = {token:'ABC123DEF456',value:'VALID'};
    var Window = Alloy.createController('SecondView',args,argsToken).getView();

// Second Screen Code
// First argument
    var args = arguments[0] || {};
    var data = [];  
    data    = args;
    Titanium.API.info('data Value::'+data);
//第二个论点

var argsToken = arguments[1] || {};
var token = [];
token = argsToken;
Titanium.API.info('Token Value::'+token);
这里我从数据中得到的值是
{name:'ABCD',value:'1234'}

对于带有argsToken的第二个参数[1],其未定义


我无法获取第二个参数
{token:'ABC123DEF456',value:'VALID'}

您可以像这样使用Ti.App.firevent

Ti.App.fireEvent("CALLCROPWINDOW", {

       my_image : galimg

    });

    Ti.App.addEventListener('CALLCROPWINDOW', function(e){

        var crop = new CROPIMAGE();

        view.add(crop);

        Ti.App.fireEvent("webPageReady",{

         my_image : e.my_image

        });

     });

我还没有完全了解Alloy,但是函数定义显示Alloy.createController接受2个参数,您的示例有3个参数。

我相信你需要这样做:

// First Screen Code.

    var args = [];
    args.push({name:'ABCD',value:'1234'});
    args.push({token:'ABC123DEF456',value:'VALID'});
    var Window = Alloy.createController('SecondView', args).getView();

// Second Screen Code
// First argument
    var arg1 = args[0] || {};
    var data = [];  
    data    = arg1;
    Titanium.API.info('data Value::'+data.name);

// Second argument

var argsToken = arg[1] || {};
var token = [];
token = argsToken;
Titanium.API.info('Token Value::'+token.token);

问题是args是一个参数,在调用createController时可以拆分为另一个参数。所以解是一个维数组。因此,如果要获取第一个json对象,应该调用参数[0][0]。名称或参数[0][0]。值等等……

//第一个屏幕代码

args [] = {name:'ABCD',value:'1234'};
argsToken [] = {token:'ABC123DEF456',value:'VALID'};
sendData = {
    args1 : args,
    argsToken1 : argsToken
};
var Window = Alloy.createController('SecondView',sendData).getView();
//第二屏幕代码

//第一个论点

var args = arguments[0] || {};
var data = [];  
data = args.args1;
Titanium.API.info('data Value::'+data);
//第二个论点

var argsToken = arguments[1] || {};
var token = [];
token = args.argsToken1;
Titanium.API.info('Token Value::'+token);
它会起作用的!:)