簡單而直接。我有這個工廠:工廠方法似乎不明確
ctrls.factory('dataLoad', ['$http', function($http) {
return {
loadFromJSON: loadFromJSON
}
function loadFromJSON() {
$http.get("data.json").then(function(response) {
return response;
});
}
}]);
這是在我的控制器相同的模塊。在典型的路由技術之後,控制器被綁定到模板,但是所有東西都被加載到index.html模板中,所以在控制器中注入'dataLoad'應該沒有問題,這很好,並且沒有錯誤:
ctrls.controller('mainCtrl', ["$scope", "dataLoad", function($scope, dataLoad) {
在控制器中,我稱之爲從方法loadFromJSON,然後調用這個方法:
function loadData(){
dataLoad.loadFromJSON().then(function(data) {
$scope.allCharts = data;
console.log($scope.allCharts);
}).then(function(err){
console.log(err);
});
}
loadData();
但對此,不知何故,不行!它給我以下錯誤:
Error: dataLoad.loadFromJSON(...) is undefined
我在做什麼錯了?
當您在控制器中執行console.log(dataLoad)時,它會說什麼? –