我有以下工厂。我用它来存储程序各个部分的选项卡列表。
myApp.factory('RootService', function($location) {
var tabList = [ ... ];
var loginTabList = [ ... ];
return {
setTabList: function(data) {
tabList = data;
},
getTabList: function(data) {
if ($location.path() !== '/login') { return tabList; }
else {
if (data === 0) { return loginTabList; }
else { return tabList; }
}
}
};
});
我想将这些列表的初始化移动到我的Java层,以便我可以从Oracle数据库中填充它们。我对后端进行了整理,但是当我尝试将Restangular注入工厂以便我可以使用它时,工厂会阻止AngularJS运行。通过微小的更改,我可以让AngularJS再次使用一个:
myApp.factory('RootService', function($location) { ... });
或另一个:
myApp.factory('RootService', ['Restangular', function(Restangular) { ... }]);
声明但不是两者。我是否错误地宣布工厂?如何同时使用Restangular和$ location?
答案 0 :(得分:1)
尝试使用以下内容:
myApp.factory('RootService', ['Restangular','$location',
function(Restangular, $location) {
...
}]);
您可能没有对$location
和Restangular
更多关于here
答案 1 :(得分:1)
可以像这样定义你的工厂
app.factory('RootService', ['Restangular','$location', function(Restangular,$location) {
...
}]);
这是一个有效的PLUNKER示例......