如何在带有 UI 路由器的控制器中使用 URL 散列?

How to use the URL hash in a controller with UI Router?

我需要为状态(或 URL 哈希)的每次更改更改范围 属性。 我使用的是 ui.router 而不是 ngRoute,这是个问题。

我知道 $location.path() 给了我当前的哈希值,但它似乎没有达到目的。下面是我正在使用的控制器:

var myController = myApp.controller("myContoller", 
                                    ["$scope", "$location", 
                                    function ($scope, $location) {
                                        $scope.location = $location.path();
                                    });

我在视图中使用 $scope.location 绑定的绑定似乎不会在状态更改时更新。有没有一种方法可以捕获状态变化并且可能 're-evaluate' 控制器脚本?

A post 在这里:https://github.com/angular/angular.js/issues/1699#issuecomment-11496428 似乎很适合我想要的东西。

基本上,使用 $scope.$on("$locationChangeSuccess", function (event) {}); 有帮助。