Titanium - 如何关闭在另一个.js文件中定义的视图

时间:2014-06-27 13:23:56

标签: titanium views

我在FirstView.js中定义了一个窗口,在Settings.js中定义了一个视图。

我将设置视图添加到FirstView窗口执行此操作:

var Settings = require('ui/common/Settings');
var Settings = new Settings();
self.add(Settings);

现在,当用户按下"返回"按钮我需要从主窗口中删除设置视图。 我知道如果两个代码都在同一个.js文件中,我可以使用self.remove(Settings)执行此操作。

但是,在这种情况下,如何从主FirstView窗口中删除设置视图?

2 个答案:

答案 0 :(得分:1)

为什么不使用容器进行设置?

e.g:

var FirstView=Ti.UI.createWindow();

var contentSetting=Ti.UI.createView({
  height:Ti.UI.SIZE //or Ti.UI.FILL,
  width:Ti.UI.SIZE //or Ti.UI.FILL
});

FirstView.add(contentSetting);

var Settings = require('ui/common/Settings');
var Settings = new Settings();

contentSetting.add(Settings);

FirstView.addEventListener('android:back', function(e){
 //remove view
 $.contentSetting.removeAllChildren();
});

答案 1 :(得分:1)

尝试使用应用程序级事件。

在Settings.js中

并单击后退按钮

Ti.App.fireEvent("backSetting");

并在FirstView.js中

Ti.App.addEventListener("backSetting",function(e){
                       self.remove(Setting);
                    };