0

假设,我有 AngularJs 的以下代码:

 angular.module('somename', []).
         config(function ($routeProvider, $locationProvider) {
                $routeProvider.
                when('/test/:userid', { controller: TestDataCtrl }).
                when('/users/:userid', {controller: UserDataCtrl}).
                otherwise({redirectTo: '/index.html'});
                $location.path('/newValue')
                });

但是这个片段会抛出 ReferenceError: $location is not defined from archivarius。好的,没问题。我在函数中添加了第三个参数 $location 并得到了错误 - Unknown provider: $location from archivarius。

那么,我怎样才能获得 $location 服务的实例呢?

换句话说,我有一些丑陋的网址,例如:

http://localhost:7000/myservice/1?html=true#/index

而且我上面的路线不起作用,因为它应该是服务 url 看起来像

http://localhost:7000/myservice/#/index          
   or
http://localhost:7000/myservice/index

但是由于我的 REST 服务的内部重定向逻辑,我想出了一个有点令人困惑的 AngularJs url,我需要在不重新加载页面的情况下更改它。

提前致谢。

4

1 回答 1

0

将 `$location' 对象添加到您的配置一致函数中:

config(function ($routeProvider, $locationProvider, $location) 

希望能帮助到你

于 2014-06-07T06:25:49.563 回答