angular2:エラー:TypeError:未定義のプロパティ '...'を読み取れません

Partha Sarathi Ghosh:

angular2コードピースのプランカーを取り付けました。JSONからフィールドを印刷したいのですが、最初はオブジェクトがnullで、Promiseを介して入力されているため、それを印刷できません。

これは私のコンポーネントファイルです

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}}テンプレートから削除すると、正常に実行されます。

Promise(つまり非同期呼び出し)からデータを取得しているため、コードでset time outを使用しています。

最初はそのままabc理解nullできますが、コードでabc.xyz.nameが見つかりません。しかし、if条件を確認したくないのですが。JSON内にいくつかのプロパティがあり、各プロパティがif条件を書き込むことができないためです。

angularjs 1の以前のバージョンでは、abcがnullの場合、自動的に空白文字列に置き換えられました。私はangular2で同じことをしたいです。提案してください。

以下はプランカーです

https://plnkr.co/edit/u1NqNF0penz7OS55QmoU?p=preview

ステファン・スヴルコタ:

これabcは、テンプレートレンダリングの時点では未定義であるためです。安全なナビゲーション演算子(?)を使用して、HTTP呼び出しが完了するまでテンプレートを「保護」できます

{{abc?.xyz?.name}}

安全な航法演算子について詳しくは、こちらをご覧ください

更新:

安全なナビゲーションオペレーターは配列で使用できません。NgIfこの問題を解決するには、ディレクティブを利用する必要があります

<div *ngIf="arr && arr.length > 0">
    {{arr[0].name}}
</div>

NgIfディレクティブの詳細については、こちらをご覧ください

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

angular2:エラー:TypeError:未定義のプロパティ '...'を読み取れません

分類Dev

エラーTypeError:未定義のプロパティ '...'を読み取れません

分類Dev

Angular2:未定義のプロパティ 'name'を読み取れません

分類Dev

Angular2:未定義のプロパティ 'name'を読み取れません

分類Dev

Angular2未定義のプロパティ 'push'を読み取れません

分類Dev

Angular2 +未定義のプロパティ「id」を読み取れません

分類Dev

未定義のプロパティ「post」を読み取れません-Angular2

分類Dev

Angular:エラーTypeError:未定義のプロパティ___を読み取れません

分類Dev

Angular 6-エラーTypeError:未定義のプロパティ 'value'を読み取れません

分類Dev

Angular 6:エラーTypeError:未定義のプロパティ 'toLowerCase'を読み取れません

分類Dev

エラーTypeError:未定義のプロパティ「0」を読み取れません| Angular 4

分類Dev

エラーTypeError:未定義のプロパティ「html」を読み取れません(angular-fontawesome)

分類Dev

Angular 5:エラーTypeError:未定義のプロパティ 'toLowerCase'を読み取れません

分類Dev

エラーTypeError:未定義のプロパティ 'value'を読み取れません:Angular 6

分類Dev

Angular-エラーTypeError:未定義のプロパティ 'title'を読み取れません

分類Dev

Angular 8エラーTypeError:未定義のプロパティ 'name'を読み取れません

分類Dev

Angular 9-エラーTypeError:未定義のプロパティ 'name'を読み取れません

分類Dev

Angular 6エラーTypeError:未定義のプロパティ 'navigate'を読み取れません

分類Dev

Webpacked Angular2アプリTypeError:未定義のプロパティ 'getOptional'を読み取れません

分類Dev

NgZone / Angular2 / Ionic2 TypeError:未定義のプロパティ 'run'を読み取れません

分類Dev

Angular2:TypeError:未定義のプロパティ 'Symbol(Symbol.iterator)'を読み取れません

分類Dev

配列が未定義です:エラーTypeError:未定義のプロパティ 'push'を読み取れません

分類Dev

Angular 2未定義のプロパティ「subscribe」を読み取れませんTypeError:未定義のプロパティ「subscribe」を読み取れません

分類Dev

Angular 2で未定義のプロパティ「エラー」を読み取れませんか?

分類Dev

AngularJsエラー未定義のプロパティ 'then'を読み取れません

分類Dev

未定義エラーのプロパティ 'getState'を読み取れません

分類Dev

未定義のプロパティ 'on'を読み取れませんか?->エラー

分類Dev

更新後のAngular2このエラーが発生します:未定義のプロパティ「ゾーン」を読み取れません

分類Dev

エラーTypeError:何を試しても未定義のプロパティ「パス」を読み取れません

Related 関連記事

  1. 1

    angular2:エラー:TypeError:未定義のプロパティ '...'を読み取れません

  2. 2

    エラーTypeError:未定義のプロパティ '...'を読み取れません

  3. 3

    Angular2:未定義のプロパティ 'name'を読み取れません

  4. 4

    Angular2:未定義のプロパティ 'name'を読み取れません

  5. 5

    Angular2未定義のプロパティ 'push'を読み取れません

  6. 6

    Angular2 +未定義のプロパティ「id」を読み取れません

  7. 7

    未定義のプロパティ「post」を読み取れません-Angular2

  8. 8

    Angular:エラーTypeError:未定義のプロパティ___を読み取れません

  9. 9

    Angular 6-エラーTypeError:未定義のプロパティ 'value'を読み取れません

  10. 10

    Angular 6:エラーTypeError:未定義のプロパティ 'toLowerCase'を読み取れません

  11. 11

    エラーTypeError:未定義のプロパティ「0」を読み取れません| Angular 4

  12. 12

    エラーTypeError:未定義のプロパティ「html」を読み取れません(angular-fontawesome)

  13. 13

    Angular 5:エラーTypeError:未定義のプロパティ 'toLowerCase'を読み取れません

  14. 14

    エラーTypeError:未定義のプロパティ 'value'を読み取れません:Angular 6

  15. 15

    Angular-エラーTypeError:未定義のプロパティ 'title'を読み取れません

  16. 16

    Angular 8エラーTypeError:未定義のプロパティ 'name'を読み取れません

  17. 17

    Angular 9-エラーTypeError:未定義のプロパティ 'name'を読み取れません

  18. 18

    Angular 6エラーTypeError:未定義のプロパティ 'navigate'を読み取れません

  19. 19

    Webpacked Angular2アプリTypeError:未定義のプロパティ 'getOptional'を読み取れません

  20. 20

    NgZone / Angular2 / Ionic2 TypeError:未定義のプロパティ 'run'を読み取れません

  21. 21

    Angular2:TypeError:未定義のプロパティ 'Symbol(Symbol.iterator)'を読み取れません

  22. 22

    配列が未定義です:エラーTypeError:未定義のプロパティ 'push'を読み取れません

  23. 23

    Angular 2未定義のプロパティ「subscribe」を読み取れませんTypeError:未定義のプロパティ「subscribe」を読み取れません

  24. 24

    Angular 2で未定義のプロパティ「エラー」を読み取れませんか?

  25. 25

    AngularJsエラー未定義のプロパティ 'then'を読み取れません

  26. 26

    未定義エラーのプロパティ 'getState'を読み取れません

  27. 27

    未定義のプロパティ 'on'を読み取れませんか?->エラー

  28. 28

    更新後のAngular2このエラーが発生します:未定義のプロパティ「ゾーン」を読み取れません

  29. 29

    エラーTypeError:何を試しても未定義のプロパティ「パス」を読み取れません

ホットタグ

アーカイブ