当我尝试运行facebook connect plugin的登录方法后尝试重定向到另一个页面时,angular冻结并且不执行任何操作。
我已经尝试了所有方法,却不知道为什么cordova插件会损坏角度。
执行时:
facebookConnectPlugin.login(["public_profile"], (x) => {
this.router.navigate(['/']);
});
并重定向到任何页面,angular不会以任何方式做出反应,不会运行构造函数,ngOnInit都不起作用。
编辑: 我能够确定问题,似乎登录后Facebook登录对话框未正确关闭。我仍然可以在chrome远程目标工具中看到它。我可以单击模拟器中的任何位置,然后对话框关闭,一切开始正常。问题是如何在登录后强制Facebook插件正确关闭。
答案 0 :(得分:0)
作为解决方法,您可以使用NgZone。讨论is here
这是工作示例:
import { NgZone } from '@angular/core';
// ...
export class MyComponent {
constructor(private ngZone: NgZone, private router: Router) {}
navigateTo(routeName: string) {
this.ngZone.run(() => { this.router.navigate([routeName]); });
}
}