在将值从一个屏幕传递到另一个屏幕时,第二个参数未定义
// 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'}
对于第二个参数[1],其中argsToken未定义。
我无法获得第二个参数{token:'ABC123DEF456',value:'VALID'}
答案 0 :(得分:0)
我还没有完全达到Alloy的速度,但是函数定义显示Alloy.createController接受2个参数而你的例子有3个。 http://docs.appcelerator.com/titanium/latest/#!/api/Alloy-method-createController
我相信你需要做这样的事情:
// 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);
答案 1 :(得分:0)
问题是args是一个参数,可以在调用createController时将其拆分为另一个参数。所以解决方案是一个维数组。因此,如果你想获得第一个json对象,你应该调用参数[0] [0] .name或arguments [0] [0] .value等等....
答案 2 :(得分: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);
它会起作用! :)
答案 3 :(得分:-1)
您可以像这样使用Ti.App.fireEvent
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
});
});