首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ngReact:说明了监视深度属性类型

ngReact:说明了监视深度属性类型
EN

Stack Overflow用户
提问于 2015-11-20 18:30:02
回答 1查看 1K关注 0票数 8

最近,我发现了一个很棒的库,它允许在角应用程序中使用React组件,称为ngReact

我的问题是关于可以在组件上声明的监视深度属性:

代码语言:javascript
复制
<body ng-app="app">
  <div ng-controller="helloController">
    <hello-component watch-depth="reference" fname="person.fname" lname="person.lname"></hello-component>
  </div>
</body>

查看ngReact文档中的reactDirective服务,我发现有3个可能的值用于观察深度:

  • 参考
  • 集合

在我使用ngReact的初始探索中,我一直坚持使用默认的选项。

我的问题是,这些类型的区别是什么?

简单的例子,当每一个观察深度类型是理想的使用将是伟大的!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-22 02:59:25

答案与角的$watch的工作原理有关。有三种角度应用$watch的方法:引用、集合、值(正如您已经提到的)。

参考资料:

引用会查看值的引用,并且只有在引用发生更改时才会注册更改(并导致重登)。这是最便宜的手表类型。引用更改的示例:

代码语言:javascript
复制
$scope.userArray = newUserArray

集合:

收藏的观察深度更深.它会在收藏品里面查看。如果通过引用监视会触发,或者在集合中添加、删除或重新排序新项,则它将注册更改。

代码语言:javascript
复制
$scope.userArray.push(newUser);

值:

价值的深度是最昂贵的.它将监视集合中的值。如果通过引用监视会触发,如果Watch By Collection会触发,或者如果集合中的值发生更改,则它将注册更改。

代码语言:javascript
复制
$scope.userArray[0].age = 32;

这个答案很受https://teropa.info/blog/2014/01/26/the-three-watch-depths-of-angularjs.html Tero写的一篇优秀文章的启发。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33833634

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档