我還是相當新的angular2流星,我正在嘗試一個簡單的自定義登錄按鈕組件。我想在沒有用戶登錄時顯示註冊和登錄按鈕,並在用戶登錄時顯示註銷按鈕。它似乎應該非常簡單,但它不起作用,因爲我期待。Angular2流星* ngIf與Meteor.userId()沒有更新反應
這裏是我的組件的HTML:
<div *ngIf="!isLoggedIn()">
<button class="btn btn-outline-primary btn-sm" (click)="goToLoginForm()">Log In</button>
<button class="btn btn-success btn-sm">Sign Up</button>
</div>
<div *ngIf="isLoggedIn()">
<button class="btn btn-outline-danger btn-sm" (click)="logout()">Log Out</button>
</div>
這裏是我的打字稿:
import {Component} from "@angular/core";
import template from "./login-buttons.component.html";
import {Router} from "@angular/router";
@Component({
selector: "login-buttons",
template
})
export class LoginButtonsComponent {
constructor(private router: Router) {}
isLoggedIn(): boolean {
return !!Meteor.user();
}
goToLoginForm(): void {
this.router.navigateByUrl('/login');
}
logout(): void {
Meteor.logout((error) => {
if (error) {
console.log(error);
} else {
this.router.navigateByUrl("/");
}
});
}
}
我敢肯定,我失去了一些東西很簡單,但它躲開我。所有的幫助表示讚賞。
讓我知道這個解決方案是否適合你:) –