如何通过模块层次结构传递事件?
我有主 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 ,创建一个全局事件监听器应用程序并在登录中触发事件,或者还有更好的方法我还没找到?
答案 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);
});