0

这个想法是在您更改页面后始终拥有一个新密钥,这是我的代码,但我认为我有问题

$scope.newKey =function (){
    var key =0;
    $rootScope.$on('$locationChangeSuccess', function () {
      key++ ;

    });
    return key;
};

如果你们中的一个人已经尝试过$locationChangeSuccess,它可以帮助我谢谢

4

2 回答 2

0

为什么不尝试使用 Angular 的service 或 factory,以便它包含实际上对整个应用程序/模块全局可用的 Scope 变量键?我的意思是这只是我的看法

于 2015-05-19T08:59:01.543 回答
0

我不太确定 - 你想如何使用你的“newKey”,但如果你在你的 html 上需要它,那么 Valverde93 的答案是正确的:
$scope.newKey = 0;
$rootScope.$on('$locationChangeSuccess', function () { $scope.newKey++; });
在你的 html 上:
{{newKey}}
但是如果你想在你的后端使用它( js 文件就像一个函数) - 然后你总是得到 $scope.newKey = 0,只是因为你把你的 console.log 放在增量函数之后,你只看到 $scope.newKey = 0;
因此,如果您将 console.log 放入函数中 - 例如:
$rootScope.$on('$locationChangeSuccess', function () { $scope.newKey++; console.log($scope.newKey);});
然后您将看到正确的密钥。
或者您可以使用 $watch 来检查范围何时更改并做一些事情:
$scope.$watch('newKey', function(newValue ) { console.log( newValue ); } );
祝您好运。

于 2015-05-19T11:26:52.563 回答