【问题标题】:Titanium Appcelerator - method needed to replace Ti.UI.currentWindow()Titanium Appcelerator - 替换 Ti.UI.currentWindow() 所需的方法
【发布时间】:2019-02-11 20:06:04
【问题描述】:

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

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

ma​​in.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 上,它指的是Ti.UI.currentWindow() 使用来自main.js 的数据,如下所示:

ma​​pPage.js

var window = Ti.UI.currentWindow;

var Latitude = window.latitude;
var Longitude = window.longitude;

如何重现此方法以使用require 成功将参数传递给mapPage.js

对此我已经摸不着头脑了一段时间 - 所以一些帮助(代码示例????)将是最受欢迎的!谢谢

【问题讨论】:

  • 你能在mapPage.jsmain.js创建的地方添加代码吗?
  • 刚刚在上面添加了代码 sn-p - 谢谢@Rene

标签: javascript titanium appcelerator appcelerator-titanium commonjs


【解决方案1】:

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

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”,则需要将其替换为类似于此处显示的内容。

【讨论】:

  • 如何在createWindow 函数之外使用变量exhibitLatexhibitLon,同时仍在mapPage.js 上? Ti.API.info('exhibitLon = ' + exhibitLon); 返回“找不到变量:exhibitionLon”。页面下方需要此变量....?
  • 这就是 javascript 范围,阅读它developer.mozilla.org/en-US/docs/Glossary/Scope
猜你喜欢
  • 2014-07-29
  • 2011-11-20
  • 2011-08-02
  • 1970-01-01
  • 1970-01-01
  • 2014-07-16
  • 2012-02-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多