- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
最近我发现了一个很棒的库,它允许在 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 个可能的值:
在我最初使用 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/
最近我发现了一个很棒的库,它允许在 Angular 应用程序中使用 React 组件,名为 ngReact 我的问题是关于可以在reactDirective组件上声明的watch-depth属性:
如何使用 ngReact 优雅地设置双向数据绑定(bind)? 假设我有一个简单的 React 输入组件,它接受一个 value 并触发 onChange: angular.module('app',
我正在基于标题中指定的框架构建一个 Web 应用程序: AngularJS:MVP 引擎 ReactJS:MVP 中的“V”组件 ngReact:将 React 组件注入(inject) Angula
我是一名优秀的程序员,十分优秀!