angularjs – $watch是在init之后直接触发的,为什么?

前端之家收集整理的这篇文章主要介绍了angularjs – $watch是在init之后直接触发的,为什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
为什么 $watch页面加载后直接触发,如何防止这种情况?

http://jsfiddle.net/dcSRu/2/

function MyCtrl($scope) {
    // Init scope vars
    $scope.data_copy = {};

    // If data_copy changes...
    $scope.$watch("data_copy",function(newValue,oldValue) {

        alert("$watch triggered!");

    },true);
}
在第一次运行时,两个值(newValue和oldValue)相等,因此您可以通过检查相等性轻松地将其转义:
$scope.$watch("data_copy",oldValue) {
  if(newValue === oldValue){
    return;
  }
  alert("$watch triggered!");
});

PLUNKER

原文链接:https://www.f2er.com/angularjs/145371.html

猜你在找的Angularjs相关文章