クラスを要求してメソッドを利用できるように、静的メソッドを持つ Java クラスのように動作する js モジュール (js ファイル) を Titanium で作成しようとしています。構造は次のとおりです。
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;
そして、リポジトリで関数を使用したいファイルで、次のことを行いました。
var Repo = require('ui/utility/Repository');
var _name = Repo.getProp({name: 'name', default_val: ''}),
しかし、次のエラーが表示されます。
キャッチされていない TypeError: オブジェクト関数 init {return Repository} にメソッド 'getProp' がありません
みんなありがとう