我正在尝试在Titanium中创建一个js模块(一个js文件),它就像一个带有静态方法的java类,所以我可以要求类并使用这些方法。 结构如下:
var Repository = {
setProp : function(_args) {
Ti.App.Properties.setString(_args.name, _args.value);
},
getProp : function(_args) {
var tmp = Ti.App.Properties.getString(_args.name);
if (tmp)
return tmp;
else
return _args.default_val;
},
foo : function () {
},
bar : function (error) {
}
};// end Repository
这包含在名为
的文件中Repository.js
我尝试将以下行添加到文件的末尾
function init() {
return Repository;
};// end function init
module.exports = init;
在我想要使用Repository中的函数的文件中,我执行了以下操作:
var Repo = require('ui/utility/Repository');
var _name = Repo.getProp({name: 'name', default_val: ''}),
但我收到以下错误:
未捕获TypeError:对象函数init {return Repository}没有方法'getProp'
谢谢你们
答案 0 :(得分:0)
在Javascript中,您创建了一个名为Repository
的简单对象。虽然你有一个名为init()的函数,但不会使用require语句调用它。
您根本不需要init函数,只需将Repository.js更改为
即可module.exports = Repository;
这个对象可以通过要求Repository.js来获得,就像你一样!
var Repo = require('ui/utility/Repository');
var _name = Repo.getProp({name: 'name', default_val: ''});