运行的应用程序在我的iOS模拟器中工作正常,但它崩溃了我的Android模拟器,因为它说我没有定义变体。
这是我的示例代码:
/*app.js*/
var myApp = {};
myApp.ui = require("ui");
myApp.ui.createAppTabGroup.open();
/*ui.js*/
function createAppTabGroup() {
var tabGroup = Titanium.UI.createTabGroup();
myApp.fugitivesTab = Titanium.UI.createTab({
title: L('fugitives'),
window: fugitives
});
};
我在制作require(“ui”)之前声明“var myApp”,所以它应该没有问题,事实上,它适用于iOS模拟器,但在Android中说“myApp没有在线定义xx myApp.fugitivesTab = Titanium.UI.createTab({"
有什么建议吗?
答案 0 :(得分:0)
require()
的问题(或优势)是,它失去了它的背景。
要使其正常工作,您必须在ui.js中重新定义myApp,或者在函数中传递它
你可以做的最好的,只是使用require,当它不需要任何东西时,否则你将不得不给这个函数本身提供任何东西:
myApp.ui.createAppTabGroup.open(myApp);
function createAppTabGroup(myApp) {
但这可能不是你想要的。
尝试这样做:
/* ui.js */
myApp.ui.createAppTabGroup = function() {
/*app.js*/
Ti.include('ui.js');
/* CODE HERE */
myApp.ui.createAppTabGroup.open