AngularJS $监视变量的根范围变量

前端之家收集整理的这篇文章主要介绍了AngularJS $监视变量的根范围变量前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下$ rootScope变量,我用来保存当前登录用户权限级别,然后我从其他控制器访问这个变量。有没有办法可以观察rootScope变量的变化,以更新控制器特定的变量与根范围变量的任何更改?以下是我到目前为止使用的代码,有人可以告诉我我做错了什么,如何解决?谢谢

在.run下的app.js中

$rootScope.uPLevel = 0;

.controller

$scope.$watch($rootScope.uPLevel,function() {
            $scope.userPLevel = $rootScope.uPLevel;
   },true);
$ watch的第一个参数应该是字符串或函数( docs)。现在你在控制器初始化时传递$ rootScope.uPLevel的值。
$scope.$watch(function() {
  return $rootScope.uPLevel;
},function() {
  $scope.userPLevel = $rootScope.uPLevel;
},true);

两个旁注:

>将这个值存储在服务中而不是$ rootScope可能是谨慎的。>如果uPLevel只是一个整数(如你的例子所示),那么你不需要传递true作为第三个参数 – 这只适用于数组和对象。如果您确实想要收看,那么我建议使用$ watchCollection。

猜你在找的Angularjs相关文章