如何访问$ locationProvider进行配置?

时间:2014-04-06 09:36:46

标签: angularjs

从服务/控制器获取$locationProvider配置参数的正确方法是什么?使用function ( $locationProvider )进行简单的依赖注入时,我收到以下错误:

Unknown Provider : $locationProviderProvider <- $locationProvider <- myCtrl

1 个答案:

答案 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