2016-04-28 171 views
1

我有一個角度項目,我正在分解成更好的文件結構,但在創建新服務時出現錯誤Argument 'fn' is not a function, got undefined。任何想法我做錯了什麼?角模塊加載錯誤

app.js

angular.module('app', [ 
'app.controllers' 
]); 

angular.module('app.controllers', ['leaflet-directive', 'app.services']); 

angular.module('app.services', []); 

main.controller.js

angular.module('app.controllers') 
.controller('MainCtrl', MainCtrl); 

function MainCtrl($scope, $window, leafletData, DataService) { 
    var main = this; 

    main.items = DataService.GetItems(); 

    //Other controller stuff 
}; 

data.service.js

angular.module("app.services") 
.factory('DataService', DataService); 

var DataService = function(){ 
    return data = { 
     getItems: function(){ 
      return [//data here]; 
     } 
    }; 
} 

回答

4

你的DataService的聲明是問題。你在使用它之後聲明它。您應該將您的DataService聲明更改爲function DataService(),而不是將其設置爲var以利用函數提升