gpt4 book ai didi

更改数组后的 Angular 4 刷新 View

转载 作者:行者123 更新时间:2023-12-04 01:43:05 25 4
gpt4 key购买 nike

我有一个没有任何代码的问题。我在某处读到 View 仅在某些变量更改其引用时才会更新。但是它如何处理数组呢?当我编辑数组时, View 有时会更新,有时不会。有没有办法在数组更改后刷新 View ?现在我使用:

data =JSON.parse(JSON.stringify(data))

获取数据数组的新引用。这样对吗?有没有更好的方法来做到这一点?

最佳答案

在 Angular 中,您需要了解变更检测的工作原理,因为它会影响您对待对象和组件的方式。有几篇关于它的好文章。 Maximus提到了一个,你可以看看这个博客:
https://blog.thoughtram.io/angular/2016/02/22/angular-2-change-detection-explained.html

对于数组,很难检测到内部更改,因此如果修改其内容,则应制作数组的浅拷贝。浅拷贝意味着数组的内容保持不变(内存中的对象相同),但数组对象是新的。有几种方法可以做到:

const shallowCopy1 = [...originalArray];
const shallowCopy2 = originalArray.slice(0);

JSON stringify+parse 创建数组及其内容(内存中的新对象)的深拷贝,这在您的情况下是不必要的。

还有一个概念是让您整个应用程序模型不可变(您在创建后不要修改它 - 在需要修改时创建一个新副本)。检查 this articlengrx 项目。如果您需要构建更复杂的应用程序,这对您来说可能会很有趣。

关于更改数组后的 Angular 4 刷新 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45629238/

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