gpt4 book ai didi

angularjs - ngReact:观察深度属性类型解释

转载 作者:行者123 更新时间:2023-12-03 13:24:25 24 4
gpt4 key购买 nike

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

我的问题是关于可以在reactDirective组件上声明的watch-depth属性:

<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 service 我发现观看深度有 3 个可能的值:

  • 引用
  • 收藏
  • 值(value)

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

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

关于每种 watch 深度类型何时适合使用的简单示例就太好了!

最佳答案

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

引用:

Reference 查看值的引用,并且仅在该引用发生更改时才会注册更改(并导致重新渲染)。这是最便宜的 watch 类型。引用更改示例:

$scope.userArray = newUserArray

集合:

收藏的观看深度更加深入。它将查看集合内部。如果触发了“按引用监视”,或者在集合中添加、删除或重新排序了新项目,它将注册更改。

$scope.userArray.push(newUser);

值:

watch 深度的值(value)是最贵的。它将观察集合中的值。如果“按引用监视”已触发、“按集合监视”已触发,或者集合中的值发生更改,它将注册更改。

$scope.userArray[0].age = 32;

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

关于angularjs - ngReact:观察深度属性类型解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33833634/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com