0
비동기 적으로 가져 오는 몇 가지 속성이 있습니다. 이러한 속성의 결과를 응용 프로그램의보기에 바인딩하고 싶습니다. 그러나 get
속성은 뷰 모델의 변수를 null로 봅니다. 결과가 도착한 후에 어떻게 묶을 수 있습니까? 아래 코드에서 userEmail
및 appVersion
은 해당 get 함수에서 null/undefined입니다.typescript에서 관찰 가능한 속성 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"
});
});
}
}
나는 그것이 자동으로 당신을 위해 변경 이벤트를 제기하는 경우, 당신은 아마 setter를 정의 할 필요가 얼마나 nativescript 작품 후드하지만 모르는있다 그것으로 후크 수 있습니다. 지지 가치를 바꾸고 있지만 내장 된 메커니즘을 우회하고있는 것 같습니다. 즉, 알림 이벤트를 수동으로 제기해야합니다. –