Angular [Q] [Updating]

  • ngrx devtools 使用時(shí),當(dāng)配置了需要編譯檢查錯(cuò)誤如:
import { NgModule } from '@angular/core';
import { StoreModule } from '@ngrx/store';
import { StoreDevtoolsModule } from '@ngrx/store-devtools';
import { environment } from '../../environments/environment';
import { agentReducer } from './reducers/agent.reducer';


@NgModule({
  declarations: [],
  imports: [
    StoreModule.forRoot({ agent: agentReducer }, {
      // runtimeChecks: {
      //   strictStateImmutability: true,
      //   strictActionImmutability: true,
      //   strictStateSerializability: true,
      //   strictActionSerializability: true,
      // }
    }),
    StoreDevtoolsModule.instrument({
      maxAge: 20,
      logOnly: environment.production
    })
  ]
})
export class AppStoreModule { }

就算在外層邏輯中修改了store里的相同名字的變量,也會(huì)報(bào)錯(cuò),錯(cuò)誤信息如:
core.js:6014 ERROR TypeError: Cannot assign to read only property '1' of object '[object Array]' at Array.splice (<anonymous>)

關(guān)閉編譯檢查就能work了 = =

  • ngrx reducer的處理邏輯
  • ”散布運(yùn)算符僅執(zhí)行淺復(fù)制,而不處理深層嵌套的對(duì)象。您需要復(fù)制對(duì)象中的每個(gè)級(jí)別以確保不變性。“

constructor & ngOnit的區(qū)別

  • 無(wú)論您是否在TypeScript類(lèi)中實(shí)現(xiàn)它,在創(chuàng)建類(lèi)的實(shí)例時(shí)仍會(huì)調(diào)用它。這是因?yàn)閷ypescript類(lèi)構(gòu)造函數(shù)轉(zhuǎn)換為JavaScript構(gòu)造函數(shù):
  • constructor 會(huì)被強(qiáng)制調(diào)用 而ngOnit只會(huì)在實(shí)現(xiàn)方法的時(shí)候被調(diào)用
  • @Input通信機(jī)制是作為后續(xù)更改檢測(cè)階段的一部分進(jìn)行處理的,因此輸入綁定在構(gòu)造函數(shù)中不可用。 當(dāng)Angular開(kāi)始更改檢測(cè)時(shí),將構(gòu)建組件樹(shù),并已調(diào)用樹(shù)中所有組件的構(gòu)造函數(shù)。同樣在這一點(diǎn)上,每個(gè)組件的模板節(jié)點(diǎn)都添加到DOM中。在這里,您可以獲得初始化組件可能需要的所有數(shù)據(jù)-DI提供程序,DOM和輸入綁定。
  • 當(dāng)Angular調(diào)用ngOnInit時(shí),它已經(jīng)完成了組件DOM的創(chuàng)建,并通過(guò)構(gòu)造函數(shù)和已處理的輸入綁定注入了所有必需的依賴(lài)項(xiàng)。因此,這里您具有所有必需的信息,這使它成為執(zhí)行初始化邏輯的好地方
  • It’s a common practice to use ngOnInit to perform initialization logic even if this logic doesn’t depend on DI, DOM or input bindings.

后端代理的跨域問(wèn)題

官網(wǎng)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容