検索

ホームページ  >  に質問  >  本文

javascript - angularjs がバックエンド データを取得してメンバー変数に割り当てた後、フロント コンソールはメンバー変数が未定義であるというエラーを報告します。

angularjs がバックエンド データを取得してメンバー変数に割り当てた後、フロント コンソールはメンバー変数が未定義であるというエラーを報告します。エラー メッセージは次のとおりです:

例外: ./ExerciseDetailComponent クラス ExerciseDetailComponent のエラー - インライン テンプレート:3:12 原因: 未定義のプロパティ 'name' を読み取れません

別のエラー メッセージ

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

コードは以下のように表示されます:

リーリー

エラー コードにより、演習の属性が定義されていないことが示されるため、上記の演習宣言のコードを次のコードに変更しました。これにより、バックグラウンドから取得したデータを演習のメンバー変数に割り当てることができます。フロントに表示されるデータも未定義ではなく、データから取得したデータです。この方法で問題は解決できますが、コードの可読性に大きく影響します。

リーリー

これの原因を知りたいのですが?理論的には、バックグラウンドから取得されたデータはすでにメモリ空間を解放しているため、メンバー変数を初期化せずにメンバー変数に直接割り当てる必要があります。
そして、angular2 の公式チュートリアルに基づいて作成した別のコンポーネントは、バックグラウンド データを取得できるようにメンバー変数を宣言するだけで初期化はしません。

###お答えください###
巴扎黑巴扎黑2779日前508

全員に返信(1)返信します

  • 黄舟

    黄舟2017-05-19 10:11:49

    このエラーは、exercise 就已经是undefined 了吧,所以才没有name这个属性,才会报错,而不是exercise 変数に値が割り当てられていないために発生する可能性があります

    返事
    0
  • キャンセル返事