怎樣解決這個ERROR TypeError: Cannot read property 'get' of null at AppComponent.get selectedColorRed [as selectedColorRed]

我是輸入了以下CODE:

  get selectedColorRed() {
    return this.surveyForm.get('otherQuestions').get('favoriteColorRed').value;
  }

  get selectedColorGreen() {
    return this.surveyForm.get('otherQuestions').get('favoriteColorGreen').value;
  }
  
  get selectedColorBlue() {
    return this.surveyForm.get('otherQuestions').get('favoriteColorBlue').value;
  }

  // 組合顏色樣式
  get selectedColorStyle() {
    return `rgb(${this.selectedColorRed}, ${this.selectedColorGreen}, ${this.selectedColorBlue})`;
  }
但是不知道,那裏出現問題,它有ERROR出現。在網上試過找找方法,都找不到。
ERROR TypeError: Cannot read property 'get' of null  at AppComponent.get selectedColorRed [as selectedColorRed]

THANK YOU VERY MUCH.

reference:
[https://ithelp.ithome.com.tw/articles/10195509](https://ithelp.ithome.com.tw/articles/10195509)

會出現那樣子的原因是,
formGroup.get(‘xxx’) 可能會取得 null 的狀況,所以 TypeScript 認為說這邊可能會有問題,所以要解決這個錯誤訊息,就要改寫成這樣

 get selectedColorRed() {
    return this.surveyForm.get('otherQuestions')?.get('favoriteColorRed')?.value;
  }

也可以這樣子寫

 get selectedColorRed() {
    return this.surveyForm.get('otherQuestions.favoriteColorRed')?.value;
  }

試試看這樣修改後,是否能將錯誤給排除掉

1個讚