In meiner Anwendung habe ich Probleme mit angular nicht bindende Eigenschaften. Es ruft auch ngOnInit
und ngAfterViewInit
nicht auf oder führt Anweisungen aus.
ist hier teilweise LoginComponent Code:Angular führt Bindings, Direktive und ngOnInit nicht aus, wenn Route geändert wird
@Component({
templateUrl: './login.component.html',
styleUrls: ['./login.component.scss']
})
export class LoginComponent implements OnInit
//.....
public test: string = 'some dummy test';
constructor(
private cd: ChangeDetectorRef,
private fb: FormBuilder, private router: Router, private route: ActivatedRoute,
private authService: AuthService,
private usersService: UserService,
private notificationsService: NotificationsService
)
{
this.loginForm = fb.group({
email: ["", Validators.required],
password: ["", Validators.required]
});
console.info("constructor");
}
ngOnInit()
{
console.info("ngOnInit");
this.returnUrl = this.route.snapshot.queryParams['returnUrl'] || '/';
}
ngAfterViewInit()
{
this.initGapi();
console.info("afterviewinit");
}
Seltsam ist, dass dies funktioniert, wenn ich Seite zu öffnen, oder HMR Seite aktualisieren, aber nicht, wenn ich Anmelde- und Abmelde.
ist die Logout-Code:
logout(): boolean
{
this.authService.logout();
}
//authservice.ts
logout()
{
localStorage.removeItem("token");
localStorage.removeItem("refresh_token");
localStorage.removeItem("profile");
if (gapi.auth2)
{
const instance = gapi.auth2.getAuthInstance();
if (instance)
{
instance.signOut().then(() =>
{
this.router.navigate(["login"]);
});
return;
}
}
this.router.navigate(["login"]);
}
Die Unterschiede, wenn ich abmelden und Bindung sind nicht auftreten:
Knopf nicht gestylt. Dies sollte fehlt
Bindung
zu Test (einige Dummy-Test) tun
ngOnInit
undngAfterViewInit
wird nicht aufgerufen.
kendoButton
Richtlinie
<button class="center" kendoButton type="submit">
Es gibt keinen Fehler in der Konsole. Ich nehme auch Bildschirm auf (es beginnt mit einer leeren Seite). Ich habe die neuesten Chrome und Firefox, und das gleiche Problem ist in beiden Browsern.
Hat jemand eine Idee was falsch ist oder was kann ich sonst noch versuchen?
explizit ausführen Wohin leitet Ihre Login-Logik Benutzer? –
Wahrscheinlich verwandt https://StackOverflow.com/a/47268066/3731501, aber ich bin mir nicht sicher, was in Ihren Router Outlets vor sich geht. – estus
Danel: Es leitet von localhost: 50222/home zu localhost: 50222/login. estus: Ich sehe nicht, wie dies mit der von Ihnen gestellten Frage zusammenhängen könnte. – Makla