Arrays 什么是阵列的最佳性能?
我有一个显示列表的组件。从一个可观察的,我可以收到添加的项目或新的数组。从绩效角度看,什么是最好的Arrays 什么是阵列的最佳性能?,arrays,angular,Arrays,Angular,我有一个显示列表的组件。从一个可观察的,我可以收到添加的项目或新的数组。从绩效角度看,什么是最好的 myArray=[]; $myArray.subscribe(d=>this.myArray=d) myArray=[]; $myArrayJustNewItem.subscribe(d=>this.myArray.push(d)) {{item} 我所理解的是,无论采用何种解决方案,视图都将完全重新渲染?或者我应该使用索引吗?有两个地方可以以不同的方式使用 您不必.subscribe()您
myArray=[];
$myArray.subscribe(d=>this.myArray=d)
myArray=[];
$myArrayJustNewItem.subscribe(d=>this.myArray.push(d))
{{item}
我所理解的是,无论采用何种解决方案,视图都将完全重新渲染?或者我应该使用索引吗?有两个地方可以以不同的方式使用
.subscribe()
您可以始终使用异步管道。在这种情况下,您可以避免创建新变量和直接订阅可观察对象,这显然是一个更好的解决方案
myArray$: Observable<any[]>; // or any other type
<div *ngFor="let item of (myArray$ | async)">{{ item }}</div>
更新:添加了性能透视图的说明和建议否,视图将不会重新呈现。根据您的
*ngFor
中的项目跟踪,它可能只向视图中添加一个新项目,而不是完全重新绘制。谢谢您的回答,但它没有回答我的问题。性能最佳的方面是什么我的问题是关于添加一个新项目,而不是更改all数组。
myArray: Array<any> = [1,2,3,4];
addItemToArray(item: number): void {
this.myArray = [...this.myArray, item];
}
<div *ngFor="let item of myArray">{{ item }}</div>