内の既存のプロパティから未定義:特定のページでリターンは私がこのように書かれた、明確に定義されたモデルで、持っているJavaScriptのモデル
export class Navigation {
line: {
_id: string;
code: string;
name: string;
isVia: boolean;
_operator: {
_id: string;
name: string;
};
via: {
_id: string;
name: string;
}
};
hour: string;
destiny: string;
}
私は、コンストラクタの前に、変数に始めていると私はそう:
を私がアクセスできるthis.navigation.destiny = 'center';
this.navigation.line.isVia = false;
this.navigation.line.via.name = 'No path to this line';
を:私はそうやっているconstructor
で以下
public navigation: Navigation = new Navigation();
hour
およびdestiny
プロパティただし、例の行のプロパティは機能しません。私のコンソールに次のエラーが表示されます:
ERROR Error: Uncaught (in promise): TypeError: Can not set property 'isVia' of undefined TypeError: Can not set property 'isVia' of undefined
私はモデルデータを使用する必要があります。
何ができますか、どのように配置するのですか?
試み
- 公共ナビゲーション:ナビゲーション= {};
- 公開ナビゲーション:Navigation = new Navigation;
- パブリックナビゲーション:ナビゲーション; this.navigation = Navigation()コンストラクターで使用します。
これらの両方とも同じエラーが発生します。
SCENARIO
基本的にはangular 4
で動作し、言語としてtypescript
を使用して、私はionic 2
で開発しています。私が 'ionic 4'でページを作成すると、.ts
ファイル内のファイルが生成されます(.html
、.ts
、.scss
、.modeule.ts
)。私は簡単にすべての私のhtml
を操作して、実行時に簡単に。より良い開発のために、私はmodels
のアイデアを使用して、受信時と受信時の両方でコンテンツを標準化します。これに基づいて、送受信のすべてに基づいてmodel
の定式化が行われます。モデルは別ファイルです。私の.ts
の私のモデルでは私のモデルがインスタンス化されているので、私のnavigation
変数は私のテンプレートNavigation
の直後になりますコンストラクタは値を付け加えました。なぜなら、私はあなたのhtmlでそれを使用することを知らせてくれたからです。この瞬間、私はこの質問で表現しているエラーを試しています。 complex
model
を使用する必要があるエラーを再現するために
は、それはそれが私がルート内の値を有する鉱山で観察された(destiny
、hour
)とすることができ、それは、オブジェクトがオブジェクトているということですa line
このオブジェクトの中のオブジェクト私は他を持っています、私はline
からこのオブジェクトにアクセスすることはできません。
このエラーが発生しました TS2693: 'ブール値'は型を参照していますが、ここでは値として使用されています –
必要なものに合わせて回答を変更してください。ライン:任意= { _id:文字列、 コード:文字列、 名:文字列、 isVia:ブール、 _operator:{ _id:文字列、 名:文字列、 }、 介し解決するために、私はこれをしませんでした:{ _id:String、 name:String、 } }; 時:文字列。 destiny:String; –
はい私は間違いを認識しました。 – Faisal