我正在尝试回到旧窗口/移动到新窗口但收到错误,之前它工作正常,直到现在出现新错误
Uncaught TypeError: object is not a function
这是我的代码:app.js
var win = Titanium.UI.createWindow({
title : 'my app',
backgroundColor : '#fff',
fullscreen : false,
navBarHidden : true,
layout : 'vertical'
});
submitbtn.addEventListener('click', function(e) {
var createnewWindowback = require('ui/page1');
new createnewWindowback().open();
win.close();
});
page1.js
var win = Titanium.UI.createWindow({
title : 'my app',
backgroundColor : '#fff',
fullscreen : false,
navBarHidden : true,
layout : 'vertical'
});
win.addEventListener('android:back', function(e) {
var createnewWindowback = require('app');
new createnewWindowback().open();
win.close();
});
Plz帮助
答案 0 :(得分:1)
首先,我承认我使用Alloy代替我的所有窗口处理 - 所以这略有不同。但我确实使用CommonJS模块来实现我的所有逻辑。
基本上,如果你使用CommonJS模块,你需要把它放在" lib"项目中的文件夹。所以你所指的库应该是:
lib/ui/app.js
lib/ui/page1.js
为您的require语句找到它们。所以这可能是第一个检查的地方。
然后你必须告诉CommonJS模块你会让"外面"呼叫/"知"从你的模块内部。您将使用以下方法之一执行此操作:
exports.myMethod = function() {....}
module.exports = MyObject
只有在后一个示例中,您才能编写类似
的内容new createnewWindowback().open();
很明显,如果不符合要求,您的代码将在此语句中失败: - )
接下来,你的"对象"将不得不实施一种方法" open()"它的工作原理。
我建议您查看Appcelerator University videos - 并下载Kitchen Sink应用程序并查看代码。
/约翰