Titanium Tianium-fire事件侦听器回调属于不受支持的类型:NSNull

Titanium Tianium-fire事件侦听器回调属于不受支持的类型:NSNull,titanium,Titanium,我正在编写一个简单的脚本来模拟更改页面 var square = $.UI.create('View',{page : info, classes : ["box"]}); square.addEventListener('click', function(e){ Ti.API.info(JSON.stringify({title:e.source.page.title,page : e.source.page.id,menu:true});

我正在编写一个简单的脚本来模拟更改页面

    var square = $.UI.create('View',{page : info, classes : ["box"]});

    square.addEventListener('click', function(e){
            Ti.API.info(JSON.stringify({title:e.source.page.title,page : e.source.page.id,menu:true});
            Ti.App.fireEvent('index:page',{title:e.source.page.title,page : e.source.page.id,menu:true});
        });
在另一个控制器中,我写道

Ti.App.addEventListener('index:page',startup);
var startup = function(data){
    global_data = data;
    Alloy.Collections.menu.fetch();
    ...
    }
问题是,当我点击“方形”按钮时,我得到了

Listener callback is of a non-supported type: NSNull
Ti.API.info(JSON.stringify({title:e.source.page.title,page:e.source.page.id,menu:true});
给了我
{“title”:“News”,“page”:5,“menu”:“true”}

不知道为什么。我传递给启动函数的参数似乎有空值,但输出没有这么说


有什么建议吗?

问题在于声明调用的顺序:

var startup = function(data){
    global_data = data;
    Alloy.Collections.menu.fetch();
    ...
    };
Ti.App.addEventListener('index:page',startup);
而不是

Ti.App.addEventListener('index:page',startup);
var startup = function(data){
    global_data = data;
    Alloy.Collections.menu.fetch();
    ...
    };