【发布时间】:2018-08-22 14:45:14
【问题描述】:
firebase 身份验证后路由器无法正常工作。问题来自@angular/animations,无论是导入 NoopAnimationsModule 还是 BrowserAnimationsModule 路由器都无法正常工作
package.json
"dependencies": {
"@angular/animations": "^5.2.8",
"@angular/cdk": "^5.2.4",
"@angular/common": "^5.2.0",
"@angular/compiler": "^5.2.0",
"@angular/core": "^5.2.0",
"@angular/forms": "^5.2.0",
"@angular/http": "^5.2.0",
"@angular/material": "^5.2.4",
"@angular/platform-browser": "^5.2.0",
"@angular/platform-browser-dynamic": "^5.2.0",
"@angular/router": "^5.2.0",
"angularfire2": "^5.0.0-rc.6",
"core-js": "^2.4.1",
"firebase": "^4.11.0",
"rxjs": "^5.5.6",
"zone.js": "^0.8.19"
}
一旦通过 Google 身份验证,我将重定向到路由“/protected”,但页面显示新的路由组件和前一个组件:
问题一定是 Angularfire 和 Material Animations 之间的兼容性问题:评论 BrowserAnimationsModule 的导入解决了这个问题。
为了帮助理解和重现,您有:
- StackBlitz project 烦人的部分是这个例子有效,但仍然呈现出两个组件都显示的过渡状态。
- 一个github repository,用最少的代码重现错误。
- 上一个 repo 中的 app running。
一旦我找到修复程序,firebase 凭据将停止工作,因此请使用您自己的。
提前致谢。
【问题讨论】:
-
你应该做一个最小的工作示例,而不是像这样给我们你的整个代码......没有人有时间阅读你的所有代码并发现你的错误......
-
如果两条路线都显示了,那么您的控制台中应该会出现错误。而且我没有使用我的 Google 帐户登录您的应用程序,据我所知,依赖项没有任何问题,您可能做错了什么。
-
其实这是一个最小的工作示例
-
不,不是。整个项目不被认为是“最小的”。它也不是“可验证的”,因为我们不能接触代码,只能访问缩小和捆绑的源。但可以肯定的是,它是“完整的”,我可以给你!使用 stackblitz 重现您的错误,让我们来解决它。
-
您的问题是在本地还是在生产中?
标签: angular firebase firebase-authentication angular-material