【问题标题】:Commonjs - Moving data from one window to another using Titanium in AppceleratorCommonjs - 在 Appcelerator 中使用 Titanium 将数据从一个窗口移动到另一个窗口
【发布时间】:2019-02-09 19:21:48
【问题描述】:

当使用require() 在该页面上按下按钮时,我正在尝试从主窗口传递数据,如下所示:

mapview.addEventListener('click', function(evt) {
    var detailWindow = Ti.UI.createWindow({
            backgroundColor: '#333333',
            navTintColor: '#FFF',
            barColor: '#222222',
            itemID: evt.annotation.myid
        });
        Ti.API.info('detailWindow.itemID = ' + detailWindow.itemID); 
        // displays expected value from database eg 12345

        detailWindow = require('ui/iphone/detail');
        var detailWin = new myWindowHere(detailWindow.itemID);
}

详细.js:

function myWindowHere(myItemID) {
    var myDetailsWin = Titanium.UI.createWindow({
    //properties here
    });
    Ti.API.info('myItemID = ' + myItemID); // this log is never 
    var facilityID = myItemID;

    myWindowHere.open();

    return myDetailsWin;
};
module.exports = myWindowHere;  

但是,我在某个地方出错了,因为我收到了错误消息:Can't find variable: myItemID

请帮忙!非常感谢

【问题讨论】:

  • 您在detailWindow 中创建一个窗口并使用require 语句覆盖该变量。在里面创建一个新窗口,为什么myItemID 应该在那里可见?将方法添加到您的模块(例如 myDetailsWin.passParameter = function(){} 以传递变量或将它们作为第二个参数添加到 require 语句中
  • 看来您需要学习一些 JavaScript 基础知识。 new myWindowHere(detailWindow.itemID); 什么都不做,因为上下文不知道那个对象。 myWindowHere.open(); 也不指向任何东西。正如@miga 所说,您正在覆盖一个对象并期望原始对象仍然存在......这不是那样的。
  • 感谢您的反馈。有关如何解决此问题的任何代码示例?我确实是 javascript 的新手,所以发现这很棘手。我需要使用在主页上选择的数据填充 detailWindow,已经从数据库中提取...

标签: javascript titanium appcelerator appcelerator-titanium commonjs


【解决方案1】:

试试这个:

mapview.addEventListener('click', function(evt) {
    var detailWindow = Ti.UI.createWindow({
        backgroundColor: '#333333',
        navTintColor: '#FFF',
        barColor: '#222222',
        itemID: evt.annotation.myid
    });
    Ti.API.info('detailWindow.itemID = ' + detailWindow.itemID); 
    // displays expected value from database eg 12345

    var detailWin = require('ui/iphone/detail').myWindowHere(detailWindow.itemID);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-05
    • 1970-01-01
    • 2023-03-24
    • 2013-10-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多