angularjs scope。$ watch和带方括号的表达式

时间:2017-10-16 09:23:18

标签: javascript angularjs

我在我所使用的产品中找到了一些遗留代码:

$scope.$watch("[timeRange]", function() {
  doStuff();
}, true);

timeRange是范围内的对象。

我不明白这种用方括号围绕它的语法。我已经搜索了网络和angularjs文档,仍然无法解决问题。有人可以帮助解释这个结构意味着什么吗?

2 个答案:

答案 0 :(得分:0)

$ watch可以应用于具有相同语法的变量和对象

$scope.$watch("timeRange", function() {
      doStuff();
    }, true);

答案 1 :(得分:0)

我认为 $ watch和$ watchGroup 之间存在混淆。根据文件:

  

$ watchGroup(watchExpressions,listener);   $ watch()的变体在哪里   它观看一系列的watchExpressions。如果有任何一个表达式   集合更改了侦听器的执行。

     

watchExpressions数组中的项目通过标准观察   $ watch操作。检查它们的返回值是否有变化   每次拨打$ digest。只要有任何表达式,就会调用监听器   在watchExpressions数组中更改。