【问题标题】:Passing events through modules in Titanium SDK通过 Titanium SDK 中的模块传递事件
【发布时间】:2014-11-04 02:21:18
【问题描述】:

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

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

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

【问题讨论】:

    标签: javascript module titanium appcelerator-mobile commonjs


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-27
      • 2013-11-21
      • 2012-11-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多