angularjs がバックエンド データを取得してメンバー変数に割り当てた後、フロント コンソールはメンバー変数が未定義であるというエラーを報告します。エラー メッセージは次のとおりです:
例外: ./ExerciseDetailComponent クラス ExerciseDetailComponent のエラー - インライン テンプレート:3:12 原因: 未定義のプロパティ 'name' を読み取れません
別のエラー メッセージ
元の例外: 未定義のプロパティ 'name' を読み取れません
コードは以下のように表示されます:
リーリーエラー コードにより、演習の属性が定義されていないことが示されるため、上記の演習宣言のコードを次のコードに変更しました。これにより、バックグラウンドから取得したデータを演習のメンバー変数に割り当てることができます。フロントに表示されるデータも未定義ではなく、データから取得したデータです。この方法で問題は解決できますが、コードの可読性に大きく影響します。
リーリーこれの原因を知りたいのですが?理論的には、バックグラウンドから取得されたデータはすでにメモリ空間を解放しているため、メンバー変数を初期化せずにメンバー変数に直接割り当てる必要があります。
そして、angular2 の公式チュートリアルに基づいて作成した別のコンポーネントは、バックグラウンド データを取得できるようにメンバー変数を宣言するだけで初期化はしません。
このエラーは、
exercise
就已经是undefined
了吧,所以才没有name
这个属性,才会报错,而不是exercise
変数に値が割り当てられていないために発生する可能性があります