在Cordova中使用Facebook Connect插件后,Angular应用程序中断

时间:2019-02-10 19:51:15

标签: angular facebook cordova

当我尝试运行facebook connect plugin的登录方法后尝试重定向到另一个页面时,angular冻结并且不执行任何操作。

我已经尝试了所有方法,却不知道为什么cordova插件会损坏角度。

执行时:

facebookConnectPlugin.login(["public_profile"], (x) => {
    this.router.navigate(['/']);
});

并重定向到任何页面,angular不会以任何方式做出反应,不会运行构造函数,ngOnInit都不起作用。

编辑: 我能够确定问题,似乎登录后Facebook登录对话框未正确关闭。我仍然可以在chrome远程目标工具中看到它。我可以单击模拟器中的任何位置,然后对话框关闭,一切开始正常。问题是如何在登录后强制Facebook插件正确关闭。

1 个答案:

答案 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]); });
    }
}