通过Titanium SDK中的模块传递事件

时间:2014-09-10 12:20:33

标签: javascript module titanium appcelerator-mobile commonjs

如何通过模块层次结构传递事件?

我有主 app.js ,在那里我加载模块 welcome.js (带有require("welcome"))作为一个窗口,在里面欢迎我加载模块 home.js (包含登录和注册按钮的视图)和 login.js 。问题是我不知道在 login.js app.js welcome.js 的正确方法是什么>。例如,当用户想要返回时,在 welcome 内部我必须隐藏登录并显示 home ,当用户登录时我有销毁欢迎并在 app.js 中加载 main.js

我应该在 app.js 中创建一个回调并将其传递给 welcome ,然后将其传递给 login ,创建一个全局事件监听器应用程序并在登录中触发事件,或者还有更好的方法我还没找到?

1 个答案:

答案 0 :(得分:0)

最简单的方法是使用应用程序级事件

在login.js中

触发应用程序级事件:

Ti.App.fireEvent('yourEventName',{
                                   msg:'this is an event from login'
                                  });

并在其他文件(welcome.js或app.js)中收听您的活动:

Ti.App.addEventListener('yourEventName',function(e){
                                  alert(e.msg);
  });