观看多个$ scope属性

JavaScript

2020-03-14

有没有办法使用以下方法订阅多个对象上的事件 $watch

例如

$scope.$watch('item1, item2', function () { });

第1585篇《观看多个$ scope属性》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

4个回答
西门十三LEY 2020.03.14

怎么样:

scope.$watch(function() { 
   return { 
      a: thing-one, 
      b: thing-two, 
      c: red-fish, 
      d: blue-fish 
   }; 
}, listener...);
神乐宝儿小小 2020.03.14

$ watch第一个参数可以是角度表达式或函数。请参阅$ scope。$ watch上的文档它包含有关$ watch方法如何工作的许多有用信息:调用watchExpression时,角度如何比较结果等。

Tony路易 2020.03.14

合并值的较为安全的解决方案可能是将以下内容用作$watch函数:

function() { return angular.toJson([item1, item2]) }

要么

$scope.$watch(
  function() {
    return angular.toJson([item1, item2]);
  },
  function() {
    // Stuff to do after either value changes
  });
飞云小卤蛋 2020.03.14

您可以使用$ watchGroup中的函数来选择作用域中对象的字段。

        $scope.$watchGroup(
        [function () { return _this.$scope.ViewModel.Monitor1Scale; },   
         function () { return _this.$scope.ViewModel.Monitor2Scale; }],  
         function (newVal, oldVal, scope) 
         {
             if (newVal != oldVal) {
                 _this.updateMonitorScales();
             }
         });

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android