我正在使用require.js並在多個地方使用函數庫。我正是如此定義功能:在函數陣列中引用另一個函數
define(function (require) {
"use strict";
var $ = require('jquery');
var UsefulFuncs = {};
UsefulFuncs.hideAlert = function() {
$('.alert').hide();
};
UsefulFuncs.loadURL = function (url){
navigator.app.loadUrl(url, { openExternal:true });
return false;
};
UsefulFuncs.linkClicked = function (e) {
e.preventDefault();
var url = $(e.currentTarget).attr("rel");
this.loadURL(url);
};
return UsefulFuncs;
});
然後,在我的骨幹視圖,我調用函數從庫:
UsefulFuncs = require('app/utils/useful_func'),
....
UsefulFuncs.linkClicked
這工作得很好任何獨立功能庫例如hideAlert()。然而,當庫中的一個功能是指另一種,如linkClicked()調用使用loadURL(),我得到一個錯誤:
Uncaught TypeError: Object [object Object] has no method 'loadURL'.
任何想法如何,我可以參考使用loadURL()?
我知道這是一種解決方法,因爲它也應該與'this'一起工作。 –