我需要在Angular4应用中实施Google登录,但在Google登录回调中使用router.navigate()
后,我遇到了奇怪的路由问题。
我设置了问题here的示例,请注意重现的步骤位于第一页。
我还使用已部署的代码here设置了repo,已损坏路由的示例位于angular-4-google-signin
分支中,并且使用Angular2正确处理的路由示例位于angular-2-google-signin
分支中。您可以看到Angular2版本路由在相同的操作序列之后正常工作。
我需要了解Angular是否存在问题,还是我没有正确使用路由器。如果我没有正确使用路由器,请告诉我如何解决它。
答案 0 :(得分:1)
我已从GitHub(两个分支机构)(your code)下载了您的代码。
我跑npm install
,然后ng serve
,它就像一个魅力。
我已经安装了npm v5.3.0
,node v6.10.3
。所以我猜你要么上传了错误的代码,要么你的设置中出现了错误。
我建议你下载自己的代码并在更新节点和npm到最新版本后检查一下。
对于v4版本,我在运行npm install
时遇到错误。我删除了以下部分:
"engines": {
"node": "6.11.1",
"npm": "3.10.9"
},
从package.json
文件然后安装,服务和功能按预期工作。所以,我再次怀疑node / npm问题。
答案 1 :(得分:0)
我和你的一样有同样的问题。似乎有一个变化'角度没找到。您可以尝试在zone.run回调中运行代码。
我改变了我的代码:
改变之前:
this._router.navigate(['dashboard'])
更改后:
this._zone.run(
() => this._router.navigate(['dashboard'])
);
现在可以使用了!