Titanium Appcelerator语言 - 替换 Ti.UI.currentWindow() 所需的方法



继承的项目已使用旧的弃用方法实现。

按钮加载一个新页面,如下所示:

主.js

var thisWindow = Ti.UI.currentWindow;
var nav = Titanium.UI.iOS.createNavigationWindow({
window: thisWindow
});
nav.open();
myButton.addEventListener('click', function(evt) {
var detailWindow = Ti.UI.createWindow({
backgroundColor: '#333333',
exhibitLat: latitude,
exhibitLon: longitude,
url: 'mapPage.js'
});
thisWindow.nav = nav;
nav.openWindow(detailWindow, {
animated: true
});
};

mapPage.js上,它指的是使用来自main.js的数据Ti.UI.currentWindow(),如下所示:

地图页面.js

var window = Ti.UI.currentWindow;
var Latitude = window.latitude;
var Longitude = window.longitude;

如何重现此方法以成功将参数传递给带有requiremapPage.js

我一直在挠头 - 所以一些帮助(带有代码示例😀(将非常受欢迎!谢谢

url属性确实非常过时。相反,您应该在mapPage中创建窗口并返回它。

地图页面.js:

exports.createWindow = function(latitude, longitude){
var detailWindow = Ti.UI.createWindow({
backgroundColor: '#333333',
exhibitLat: latitude,
exhibitLon: longitude,
url: 'mapPage.js'
});
return detailWindow
}

然后,您的main.js将如下所示:

var nav = Titanium.UI.iOS.createNavigationWindow({
window: thisWindow
});
nav.open();
myButton.addEventListener('click', function(evt) {
thisWindow.nav = nav;
var detailWindow = require('mapPage').createWindow(latitude, longitude);
nav.openWindow(detailWindow, {
animated: true
});
};

我还删除了thisWindow部分。如果它以与mapPage.js相同的方式获得其"currentWindow",则需要将其替换为此处显示的类似内容。

相关内容

最新更新