javascript - 在 Google 登录回调中使用 `router.navigate()` 后,Angular4 路由器中断

标签 javascript angular google-signin angular-routing

我需要在 Angular4 应用中实现 Google Sign In,但在 Google Sign In 回调中使用 router.navigate() 后,我遇到了奇怪的路由问题。

我设置了一个问题示例 here ,注释和重现步骤位于第一页。

我还使用部署的代码 here 设置了存储库,损坏的路由示例位于 angular-4-google-signin 分支,而与 Angular2 正常工作的路由示例位于 angular-2-google-signin 分支。您可以看到,在执行相同的操作序列后,Angular2 版本的路由可以正常工作。

我需要了解这是 Angular 的问题还是我没有正确使用其路由器的问题。如果我没有正确使用路由器,请告诉我如何修复它。

最佳答案

我已从 GitHub(两个分支)下载了您的代码 (your code) 。 我运行了npm install,然后运行了ngserve,它的效果非常好。 我已经运行 npm v5.3.0,安装了 node v6.10.3。所以我猜想要么您上传了错误的代码,要么您的设置中有问题。

我建议您在将 Node 和 npm 更新到最新版本后,下载自己的代码并检查一下。

对于 v4 版本,我在运行 npm install 时遇到错误。我删除了以下部分:

  "engines": {
    "node": "6.11.1",
    "npm": "3.10.9"
  },

来自 package.json 文件,然后安装、服务和功能按预期工作。所以,我再次怀疑 Node/npm 问题。

关于javascript - 在 Google 登录回调中使用 `router.navigate()` 后,Angular4 路由器中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46045769/

相关文章:

angular - 打包后如何在 Electron 应用程序中获取开发工具? ( Electron 应用= angular2 + typescript )

Angular |有没有办法导致 *ngIf 只运行一次?

angular - Xtermjs 无法复制和粘贴

google-plus - 从 Google+ 登录迁移到 Google 登录

ios - GoogleSignIn ios 附加到谷歌表格

javascript - 如何降低此 javascript 时间戳生成器函数的复杂性/嵌套 ifs

javascript - 获取 JSON 对象标题

Javascript 从数组中检索购物车的值?

javascript - 在 3 个 div 之间拆分单个字符串(常规文本,无 HTML)

ios - 在 Swift 框架中导入和使用 Google SignIn iOS SDK