当前位置: 首页 > 面试题库 >

AngularJS $ watch vs $ watchCollection:哪个性能更好?

曹嘉许
2023-03-14
问题内容

为了观看对象作用域变量,将$scope.$watchobjectEquality设置为true还是$scope.$watchCollection更好?

对于一个$scope对象变量(如15点的属性,一些嵌套2级深)与输入元件和更新ng- model在视图中,有多差$scope.$watchobjectEquality设定为true?这是要避免的大事吗?

$watchCollection一个更好的解决方案?

我正在寻找轻松的方式来提高AngularJS应用程序的性能(我仍然停留在v1.2.2上)。

  // ctrl scope var
  $scope.filters = {
    name: '',
    info: {test: '', foo: '', bar: ''},
    yep: ''
    // etc ...
  }

  // ctrl watch ?
  $scope.$watch('filters', function(newVal, oldVal) {
    if(newVal !== oldVal) {
      // call with updated filters
    }
  }, true);

  // or ctrl watch collection ?
  $scope.$watchCollection('filters', function(newVal, oldVal) {
    if(newVal !== oldVal) {
      // call with updated filters
    }
  });

  // view input with ng-model
  <input type="text" ng-model="filters.name" />
  <input type="text" ng-model="filters.info.test" />
  <input type="text" ng-model="filters.yep" />
  // etc ...

问题答案:

$watchCollection()功能是上述两种$watch()配置之间的中间地带。它比普通的$
watch()函数更深入;但是,它几乎不像深度平等$watch()函数那么昂贵。像$watch()功能一样,
$watchCollection()作品通过比较物理对象引用来完成;但是,与该$watch()功能不同的是,该功能$watchCollection()深入了一层,并对集合中的顶级项目执行了额外的浅层参考检查。

看到这个解释



 类似资料:
  • 问题内容: 考虑以下两行代码 和 在性能上,以上两个语句有什么区别吗?我见过很多人使用后者,当被问及他们说这是最佳实践时,没有充分的理由。 问题答案: 没有不同。 第二个原因仅仅是因为C / C ++程序员总是执行分配而不是比较。 例如 而java编译器会生成编译错误。 因此,由于可读性强,我个人更喜欢第一个,人们倾向于从左到右阅读,而不是。

  • 问题内容: String s = “”; for(i=0;i<....){ s = some Assignment; } 要么 我不需要在循环外再次使用“ s”。第一个选项可能更好,因为不会每次都初始化一个新的String。但是,第二个结果将导致变量的范围仅限于循环本身。 编辑:回应米尔豪斯的回答。在循环中将String分配给常量是没有意义的吗?不,这里的“某些分配”是指从要迭代的列表中获得的变化

  • 在服务器端代码中,一般为了更好的性能,我们不应该使用“从表中选择*”,而应该根据需要查询必要的列(选择名称,从员工中添加)。这是我在数据库性能指南文章中读到的。 现在我用hibernate做了一个查询,我读到在hibernate中最好使用session.load(id)来根据主键检索记录。这将检索与给定“id”(表中的记录)的实体关联的所有列。 现在它是否与通用数据库性能指南相矛盾。使用hiber

  • 问题内容: 我有一张叫订单的桌子。订单上的一列是customer_id, 我有一个名为“ customers”的表,具有10个字段 给定两个选项,如果我要建立一个订单对象数组并将其嵌入到一个客户对象中,那么我有两个选择。 选项1: 一种。首先查询订单表。b。遍历记录并查询人员表以获取人员的记录 这将是这样的: 选项2: 一种。在所有领域参加 #2是显而易见的,因为您只执行一个查询,而不是1 + [

  • 本文向大家介绍请你讲讲 Statement 和 PreparedStatement 的区别?哪个性能更好?相关面试题,主要包含被问及请你讲讲 Statement 和 PreparedStatement 的区别?哪个性能更好?时的应答技巧和注意事项,需要的朋友参考一下 考察点:Statement   与Statement相比,①PreparedStatement接口代表预编译的语句,它主要的优势在于