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

angular笔记-$watch

发布时间:2020-12-17 09:36:06 所属栏目:安全 来源:网络整理
导读:之前有做基于angular的一个todoList,在实现监听任务是否完成用到了$watch事件,学习的时候不仔细只以为歇够两个参数就okay了。没想到遇到了坑!原本设定是任务完成后会有弹出框提示任务完成,但是完成任务了没有反应?!经过一番倒腾,发现$watch的第三个参
  • 之前有做基于angular的一个todoList,在实现监听任务是否完成用到了$watch事件,学习的时候不仔细只以为歇够两个参数就okay了。没想到遇到了坑!原本设定是任务完成后会有弹出框提示任务完成,但是完成任务了没有反应?!经过一番倒腾,发现$watch的第三个参数也是很重要的。接下来我们就来看看如何填坑。

  • 首先$scope.$watch事件有三个参数First:监听的事件对象;Second:监听到对象变化后的执行函在数;Third:这里是布尔值,默认情况是false--这种情况只能监听数组的地址。

$scope.arrays=[

   {age1:10},{age2:20},{age3:30}

];

$scope.$watch($scope.arrays,function(){......},false);
//FALSE是默认的也可以不写,这里监听的是数组的地址,如果仅仅是数组的“值”发生了变化监听事件不起作用!!
  • 为了能够监听到数组值的变化,有两种方式:

    • 很简单只需要把第三个参数写成true;

    $scope.$watch($scope.arrays,true);
    • 相对会麻烦一点,不用管第三个参数,就是把监听结果返回为JSON字符串,好吧,直接演示

    $scope.$watch(function(){
    
    return JSON.stringify($scope.arrays);
    
    },function(){......});

    好啦,大功告成,爬坑成功,继续前进。

(编辑:李大同)

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

    推荐文章
      热点阅读