加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-17 08:15:29 所属栏目:安全 来源:网络整理
导读:我有以下$ rootScope变量,我用来保存当前登录的用户权限级别,然后我从其他控制器访问这个变量。有没有办法可以观察rootScope变量的变化,以更新控制器特定的变量与根范围变量的任何更改?以下是我到目前为止使用的代码,有人可以告诉我我做错了什么,如何
我有以下$ 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。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读