如何在angularjs中更改位置时返回新密钥

如何在angularjs中更改位置时返回新密钥,angularjs,rootscope,Angularjs,Rootscope,这是我的代码,但我认为我有问题 $scope.newKey =function (){ var key =0; $rootScope.$on('$locationChangeSuccess', function () { key++ ; }); return key; }; 如果你们中的一位已经尝试过$locationChangeSuccess,它可以帮助我感谢您为什么不尝试使用angular的服务或工厂,以便它包括范围变量键,该键实际上对整个应用

这是我的代码,但我认为我有问题

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

    });
    return key;
};

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

为什么不尝试使用angular的服务或工厂,以便它包括范围变量键,该键实际上对整个应用程序/模块是全局可用的?我的意思是这只是我的观点,虽然我不太确定-您到底想如何使用newKey,但是如果您需要在html中使用它,那么valverde93的答案是正确的: $scope.newKey=0$rootScope.$on'$locationChangeSuccess',函数{$scope.newKey++;}; 在您的html上: {{newKey}}
但是如果你想在你的后端像函数一样使用它,那么你总是会得到$scope.newKey=0,因为你把console.log放在incrementation函数之后,你只看到$scope.newKey=0; 因此,如果将console.log放入函数中-类似于: $rootScope.$on'$locationChangeSuccess',函数{$scope.newKey++;console.log$scope.newKey;}; 然后你会看到你合适的钥匙。 或者您可以使用$watch,检查作用域何时更改,并执行以下操作: $scope.$watch'newKey',functionnewValue{ console.log newValue; } ;
祝你好运。

为什么需要使用函数?也许这样会更好:$scope.newKey=0$rootScope.$on'$locationChangeSuccess',函数{$scope.newKey++;};总是$scope.newKey=0您能给我举个例子吗?