我在Titanium studio中为每个页面重复了一个代码,所以我应该在每个页面或全局范围内声明它吗?
像这样。
//app.js
test = require('test');
//page1.js
test= new test();
view.add(test.view);
exports.view = view;
//page2.js
test = new test();
view.add(test.view);
exports.view = view;
或者我应该这样做
//app.js
//page1.js
var test = require('test');
view.add(test.view);
exports.view = view;
//page2.js
var test = require('test');
view.add(test.view);
exports.view = view;
我的test.js是这样的
//test.js
function textField(){
this.view = Ti.UI.createView();
this.view.add(this.textField = Ti.UI.createTextField());
}
module.exports = textField;
答案 0 :(得分:0)
始终避免填充全局范围。当您使用commonJS模式编写时,请确保您是模块化的并始终保护全局范围。
我总是使用App.js来引用控制器文件,例如。
var controller = require('/controller');
controller.loadApp();
这使得填充全球范围变得非常困难。
按照您提供的第二个示例,第一次使用
需要模块或文件require('foo')
它被放入应用程序内存,如果另一个页面或选项卡调用相同的需要访问它它不会重新加载它,它只是更改指向该文件的指针,允许访问所有它的功能例如你的textField功能。