Titanium 钛移动3.0导航控制器在窗口之间传递变量

Titanium 钛移动3.0导航控制器在窗口之间传递变量,titanium,titanium-mobile,Titanium,Titanium Mobile,我正在使用swanify的钛导航控制器,用于部署在Android设备上的应用程序 我试图将从这里的表行中选择的数据传递回上一页,并在那里填充文本字段 有人知道怎么做吗?我正在考虑使用事件,但它似乎不适合我 谢谢。:) 这里是我在这种情况下所做的,它利用了JavaScript和Tianium的事件方面,一般原则是拥有自己的自定义事件,在控件上触发它们,然后在其他地方侦听 首先,假设我们有一个名为NextWindow.js的文件,这是一个封装窗口和tableview的CommonJS模块,每次单击a

我正在使用swanify的钛导航控制器,用于部署在Android设备上的应用程序

我试图将从这里的表行中选择的数据传递回上一页,并在那里填充文本字段

有人知道怎么做吗?我正在考虑使用事件,但它似乎不适合我


谢谢。:)

这里是我在这种情况下所做的,它利用了JavaScript和Tianium的事件方面,一般原则是拥有自己的自定义事件,在控件上触发它们,然后在其他地方侦听

首先,假设我们有一个名为
NextWindow.js
的文件,这是一个封装窗口和tableview的CommonJS模块,每次单击a行时,我们都会捕获该事件,然后在窗口上触发我们自己的自定义事件:

当您创建一个
NextWindow
以推送到导航堆栈上时,向其中添加一个自定义事件的侦听器,该侦听器位于上一个窗口中,其中包含文本框:

var NextWindow = require('NextWindow');
var nextWindow = new NextWindow();
nextWindow.addEventListener('table_row_selected', function(e) {
    // Do what you want here with the passed back data 
    var title = e.title;
    some_label.text = title;
});
// Open the next window on the NavigationController stack
nav.open(nextWindow);

现在,我们正在侦听附加到
nextWindow
的自定义事件。假设您的下一个twindow中有一个TableView,倾听TableView的单击,然后触发自定义事件:

工作起来很神奇。非常感谢,先生。我做的唯一额外的事情是在触发事件后执行
self.close()
。)
var NextWindow = require('NextWindow');
var nextWindow = new NextWindow();
nextWindow.addEventListener('table_row_selected', function(e) {
    // Do what you want here with the passed back data 
    var title = e.title;
    some_label.text = title;
});
// Open the next window on the NavigationController stack
nav.open(nextWindow);