我需要在Angular4应用程序中实现Google登录,但是在使用Crouter.navigate()
中,我遇到了奇怪的问题。
我在这里设置了一个问题的示例,请注意重复的步骤在第一页上。
我还在此处设置了使用已部署的代码的存储库,损坏路由的示例是在angular-4-google-signin
分支中,并且与Angular2正常工作的路由示例在angular-2-google-signin
分支中。您可以在那里看到Angular2版本路由在相同的动作顺序之后正常工作。
我需要了解Angular还是我不正确使用其路由器的问题。如果我不正确地使用路由器,请给我一个暗示如何修复它。
我已经从github(两个分支)(您的代码)下载了您的代码。我运行了npm install
,然后运行ng serve
,它的工作就像魅力。我已经安装了npm v5.3.0
,node v6.10.3
。所以我想您要么上传了错误的代码,要么设置中的某些内容是错误的。
我建议您下载自己的代码并在您更新为最新版本之后检查一下。
对于V4版本,我在运行npm install
时遇到了错误。我删除了以下部分:
"engines": {
"node": "6.11.1",
"npm": "3.10.9"
},
来自package.json
文件,然后按预期安装,服务和功能工作。因此,我再次怀疑节点/npm问题。
我的问题与您相同。看来没有找到"变化"角。您可以尝试在区域中运行代码。run回调。
我这样更改了代码:
更改之前:
this._router.navigate(['dashboard'])
更改后:
this._zone.run(
() => this._router.navigate(['dashboard'])
);
现在起作用!