私はprofile.tsというコンポーネントを持っていて、{{user.fullName}}経由でprofile.htmlで変数userを利用しています。私はuser.tsからユーザ変数を取得しています。これはうまく動作します。変数はコンポーネントでは定義されていませんが、プロバイダのテンプレートで定義されています
profile.tsのuser.fullNameにアクセスすると、テンプレートファイルに定義されていても、定義されていません。なぜこれが起こっているのか正確にはわかりません。テンプレートで作業している場合、コンポーネントファイルで作業している必要があります。
profile.ts関連するコード:
public user;
public posts;
constructor(public navCtrl: NavController, public toastCtrl:
ToastService, public userProvider: User){
this.user = userProvider;
console.log(this.user.fullName); // Comes back undefined. Should come back as "John Smith"
}
profile.html:なぜこれが起こっている
<span class="infos_name">{{user?.fullName}}</span> // Shows the fullName variable, which is "John Smith"
任意のアイデア?
ここで、 'user.fullName'の値を設定していますか?私はこれが起こっていると思うのは、コンストラクタがそのプロパティが設定される前に実行されているためです。そのため、 "John Smith"が 'user.fullName'プロパティに設定されるとすぐにビューが更新されます'? '演算子では、最初はビューが何も表示されません。なぜなら、未定義のため、プロパティが初期化されると、ビューは" John Smith "と表示されます) – sebaferreras
だから私はそれを購読して、人口は? –
this.userの値をチェックすると、値が必要になります。 this.user.fullNameを含む。私はthis.userを印刷することができますが、私は私の人生のために直接this.user.fullNameの価値を得ることはできません。 –