从服务/控制器获取$locationProvider
配置参数的正确方法是什么?使用function ( $locationProvider )
进行简单的依赖注入时,我收到以下错误:
Unknown Provider : $locationProviderProvider <- $locationProvider <- myCtrl
答案 0 :(得分:29)
我也遇到了这个错误。
您可以将$location
注入控制器,但不 $locationProvider
。
相反,$locationProvider
可以注入config
方法:
var app = angular.module("myApp", []);
app.config(function($locationProvider) {
$locationProvider.html5Mode(true);
});
app.controller("myCtrl", function($location) {
$location.path("/some/path");
});
因为我犯了这个额外的错误:它不仅仅是你应该添加一个app.config
位,而且还记得从控制器参数中删除$locationProvider
,或者你&#39;我会不断收到这个错误。
如果我理解正确,提供程序配置会在应用程序生命周期的配置阶段发生,而不是运行阶段。因此这种分离。 You can read a bit more about these phases here.
我怀疑错误消息的原因是当您将$foo
注入控制器时,它会查找$fooProvider
。因此,当我们注入$locationProvider
时,它会查找$locationProviderProvider
。