亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

angular 2:錯誤:TypeError:無法讀取屬性‘…’未定義

angular 2:錯誤:TypeError:無法讀取屬性‘…’未定義

蕭十郎 2019-08-03 12:03:52
angular 2:錯誤:TypeError:無法讀取屬性‘…’未定義我已經附上了我的角度2代碼塊的柱塞。我想從我的JSON中打印一個字段,但是無法打印,因為最初我的對象是NULL,并且它是通過承諾填充的。這是我的組件文件import {Component, NgModule, OnInit} from '@angular/core' import {BrowserModule} from '@angular/platform-browser' class MyData {   xyz : MySubData; } class MySubData {   name : string; }  @Component({   selector: 'my-app',   template: `     <div>       <h2>Hello {{name}}</h2>       {{abc.xyz.name}}     </div>   `, }) export class App implements OnInit {   abc : MyData = null;   constructor() {     this.name = 'Angular2'   }   ngOnInit() {     setTimeout(() => {       this.abc = new MyData();       this.abc.xyz = new MySubData();       this.abc.xyz.name = "Binita";     }, 2000);   } } @NgModule({   imports: [ BrowserModule ],   declarations: [ App ],   bootstrap: [ App ] }) export class AppModule {}當我把線移開的時候{{abc.xyz.name}}從我的模板來看,它運行得很好。我在代碼中使用了SET TIME,因為我正在從諾言(即異步調用)中獲取數據。我最初能理解為abc是null,我的代碼找不到abc.xyz.name。但我不想讓任何條件檢查。因為我在JSON中有幾個屬性,所以每個屬性都不可能編寫if條件。在angularjs 1的前面,如果ABC為NULL,那么它將自動用空字符串替換它。我也想在英吉利里做同樣的事情。請建議。下面是柱塞https:/plnkr.co/EDIT/u1NqNF0penz7OS55QmoU?P=預覽
查看完整描述

2 回答

?
斯蒂芬大帝

TA貢獻1827條經驗 獲得超8個贊

角模板支持安全導航算子、存在算子或零傳播算子。假設您有組件類

  myObj:any = {
    doSomething: function () { console.log('doing something'); return 'doing something'; },
  };
  myArray:any;
  constructor() { }

  ngOnInit() {
    this.myArray = [this.myObj];
  }

您可以在模板html文件中使用它,如下所示:

<div>test-1: {{  myObj?.doSomething()}}</div>
<div>test-2: {{  myArray[0].doSomething()}}</div>
<div>test-3: {{  myArray[2]?.doSomething()}}</div>




查看完整回答
反對 回復 2019-08-04
  • 2 回答
  • 0 關注
  • 534 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號