2016-10-04 79 views
0

我需要将$route变量注入下面的工厂,以便获取GET请求刷新。我将如何将它注入下面的工厂?角度注入到工厂的多个依赖项

.factory('posts', ['$http', function($http){ 
    //other factory functions 

    o.factorySubmit = function() { 
     $http.get('http://localhost:8080/clients').then(function(){ 
     $route.refresh(); 
     }); 
    }; 

    return o; 
}]) 
+2

你一样为$ HTTP完成。请注意,您正在维护序列。当他们被映射。 – ram1993

+0

只要我添加'['$ http','$ route',函数($ http,$ route){'应用程序停止工作 – HoosierCoder

+0

确保已添加'ngRoute'作为依赖项到您的模块。例如,angular.module('yourModule',['ngRoute']) – ram1993

回答

2

您已经为您的工厂方法设置了您的Dependency Annotation的Inline Array Notation

这里是你将如何注入$路线:

.factory('posts', ['$http', '$route', function($http,$route){ 
    //other factory functions 

    o.factorySubmit = function() { 
     $http.get('http://localhost:8080/clients').then(function(){ 
     $route.refresh(); 
     }); 
    }; 

    return o; 
}]) 
+0

嗯..这就是我开始..没有工作。我需要在工厂以外的其他地方申报$路线吗?我正在使用ui.router进行路由.. – HoosierCoder

+0

这是注入路由的正确方法。您不需要在其他地方声明'$ route'。如果您的应用程序正在生成错误,或者一旦添加该错误就停止工作,那么应用程序中可能存在其他一些配置问题。你有没有正确地添加'ui.router'作为你的模块的依赖? –

+0

是的,我有,它的作品。但是,当我向工厂添加任何第二个依赖项时,就会得到:Error:[$ rootScope:infdig] 10 $ digest()iterations达到了。中止! 观察者在最近的5次迭代中解雇了:[] – HoosierCoder