第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

當(dāng)狀態(tài)改變而沒有突變時(shí),Angular 會(huì)重新呈現(xiàn)組件列表

當(dāng)狀態(tài)改變而沒有突變時(shí),Angular 會(huì)重新呈現(xiàn)組件列表

慕慕森 2021-06-10 09:08:40
我來自 React,我已經(jīng)使用 Angular 幾個(gè)月了。React 組件在重新渲染時(shí)僅更新必要的 HTML,而 Angular 組件在狀態(tài)未發(fā)生變化時(shí)似乎完全重新渲染。如果我直接改變狀態(tài)似乎工作得很好。這是我的一個(gè)非?;镜睦樱何矣斜3譅顟B(tài)的主要組件:items = [{ name: "John", age: 8 }, { name: "Jane", age: 20 }];并在其視圖中呈現(xiàn)項(xiàng)目列表:<item *ngFor="let item of items" [item]="item"></item>該項(xiàng)目組成部分看起來像這樣:@Component({  selector: "item",  template: `    <p>      {{ item.name }}, {{ item.age }}      <input type="checkbox" />    </p>  `})export class ItemComponent {  @Input() item: any;}我在 item 組件中添加了該復(fù)選框,只是為了注意組件何時(shí)完全重新渲染。所以我要做的是勾選復(fù)選框并age為狀態(tài)中的每個(gè)用戶增加。如果我通過改變狀態(tài)來增加它,視圖會(huì)按預(yù)期更新,并且復(fù)選框保持選中狀態(tài):this.items.forEach(item => {  item.age++;});但是,如果我更改age而不直接改變狀態(tài),則整個(gè)列表將重新呈現(xiàn)并且不再選中復(fù)選框:this.items = this.items.map(item => ({  ...item,  age: item.age + 1}));這是CodeSandbox 中的完整示例。任何人都可以解釋為什么會(huì)發(fā)生這種情況,以及當(dāng)我不改變狀態(tài)時(shí)如何使列表不完全重新呈現(xiàn)?
查看完整描述

1 回答

  • 1 回答
  • 0 關(guān)注
  • 136 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)