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>