【问题标题】:How to get the Angular changing key from $scope.$watch(..., true)如何从 $scope.$watch(..., true) 获取 Angular 更改键
【发布时间】:2018-10-03 10:19:39
【问题描述】:

我正在深入观察 Angular 中的一个对象,

$scope.$watch('bigObject', function(newVal, oldVal, scope) { //Watch the whole object
    console.log("The key that changed was: " + key);
}, true); //Deep watch

如何获取已更改的密钥?

示例输出:The key that changed was: bigObject.users.john.birthday

【问题讨论】:

标签: angularjs watch


【解决方案1】:

试试这个:

 $scope.$watch('bigObject', function (newValue, oldValue, scope) {
    //Do anything with $scope.letters
    if(oldValue.users.john.birthday == newValue.users.john.birthday){
      //nothing chages
    }
    else{
       // write your logic here after changinging value    
      }
            console.log(newValue.users.john.birthday);
  });

【讨论】:

  • 谢谢,但我并不是想获得价值本身。我正在尝试获取已更改的密钥。
  • 但应确保您的用户、对象必须具有 john 对象且 john 对象必须具有生日属性
  • 什么意思?密钥不会改变,密钥(示例中的生日)将是相同的。
  • 现在我已经编辑了我的答案,所以请尝试一下
  • 谢谢,但仍然不是我想要的。想象它像一个记录器,我想记录所有更改的键。我不知道哪个键会改变。事实上,我没有关于对象本身的信息。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-12
  • 2015-12-11
  • 2016-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多