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

Passing events through modules in Titanium SDK

本文关键字:事件 模块 Titanium SDK 通过      更新时间:2023-09-26

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

我有主应用程序.js,在那里,我加载了模块welcome.js(带有require("welcome"))作为窗口,在welcome内部,我加载模块home.js[包含登录和注册按钮的视图]和login.jspp.jselcome.js关于login.jselcome中,我必须隐藏登录并显示home,当用户登录时,我必须销毁welcome并在app.js内加载main.js

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

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

在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);
  });