如何访问$ locationProvider进行配置?

Maë*_*son 10 angularjs

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

Unknown Provider : $locationProviderProvider <- $locationProvider <- myCtrl
Run Code Online (Sandbox Code Playgroud)

Hen*_*k N 30

我也遇到了这个错误.

你被允许注入一个$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");
});
Run Code Online (Sandbox Code Playgroud)

而且因为我犯了这个额外的错误:它不仅仅是你应该添加app.config一点,而且还记得$locationProvider从控制器参数中删除,否则你将继续得到这个错误.

如果我理解正确,提供程序配置在应用程序生命周期的配置阶段发生,而不是运行阶段.因此这种分离.您可以在这里阅读有关这些阶段的更多信息.

我怀疑错误消息的原因是当你注入$foo控制器时,它会查找一个$fooProvider.因此,当我们注入一个$locationProvider,它寻找一个$locationProviderProvider.