0
私は非同期的にフェッチされる2つのプロパティを持っています。これらのプロパティの結果をアプリケーションのビューにバインドしたいと思います。ただし、get
プロパティでは、ビューモデルの変数がnullと表示されます。結果が到着したらどうすれば結びつけることができますか?以下のコードでは、それぞれのget関数でuserEmail
とappVersion
がnull/undefinedになっています。typecriptで観察可能なプロパティasyncを設定するには?
export class AccountViewModel extends Observable {
private _userEmail : Email;
private _appVersion : string;
constructor() {
super();
appVersion.getVersionName().then(
(result) =>
{
this._appVersion = result;
console.log(this._appVersion);
});
firebase.getCurrentUser().then(
(result) => {
this._userEmail = new Email(result.email);
});
}
get userEmail(): string {
return this._userEmail != null ? this._userEmail.Value : "";
}
get appVersion(): string {
return this._appVersion;
}
public logout() {
firebase.logout().then((result) => {
Navigator.navigateTo({
moduleName : "views/register/register",
backstackVisible : false,
clearHistory : true
})
}).catch((error) => {
dialogs.alert({
title: "Error",
message: "A system error occurred trying to logout.",
okButtonText: "Ok"
});
});
}
}
私はどのようにnativescript作品ボンネットの下に知りませんが、それは自動的に変更イベントを発生させた場合、あなたはおそらくセッターを定義する必要がありますそれがフックすることができます。バッキング値を変更していますが、多くの組み込みメカニズムをバイパスしている可能性があります。それとも、おそらく手動で通知イベントを発生させる必要があります。 –