Angular 应用程序中的 Firebase UI Auth 小部件
Posted
技术标签:
【中文标题】Angular 应用程序中的 Firebase UI Auth 小部件【英文标题】:Firebase UI Auth widget in Angular application 【发布时间】:2016-12-07 11:32:22 【问题描述】:我只想在我的登录页面上包含 FirebaseUI 身份验证小部件(通过 ngRoute 控制)。
但是,顶层 JS 在所有其他页面上都会抛出这个错误:
“未捕获的错误:在页面上找不到 Firebase UI 小部件元素。”
虽然该错误在技术上是正确的,但令人讨厌的是,该小部件不应出现在所有页面上。
有没有人想出一种巧妙的方法来抑制这种情况?
谢谢, 内德
【问题讨论】:
【参考方案1】:您需要 Firebase 身份验证才能在所有需要身份验证的页面上工作,因此您需要为这些页面加载 Firebase Web SDK/javascript。至于widget元素不存在,是不是widget不需要一组元素才能使用?
如果有,添加它们。如果没有,它们应该由 SDK 自动加载(就像它在常规 Web SDK 中加载 iFrame 的方式一样)。控制台告诉您缺少元素。
我知道,如果您托管 firebase 脚本而不是通过 CDN 加载它们,您将获得更丰富的错误处理/消息。你可以试试。
如果您想隐藏小部件元素,似乎 CSS 可以 display:none
您可能必须添加 !important
声明。
【讨论】:
谢谢。我在所有页面上都使用 Firebase Auth,这很好。我说的是 Firebase Auth UI(单独的脚本)。那是文字登录框(“单击此处使用 Facebook 登录”等)。那只想在一页上。我可以将它放在所有页面上,然后隐藏在除登录页面之外的所有页面上,但这很蹩脚。 投反对票,因为这实际上根本没有解决问题,实际上忽略了问题本身。以上是关于Angular 应用程序中的 Firebase UI Auth 小部件的主要内容,如果未能解决你的问题,请参考以下文章
使用 Angular 7 从 Firebase 存储中检索图像
在 Angular 服务中 HTTP.get 之后从 firebase 返回的重复数组
如何根据 Angular 6 中的 Firebase 实时数据库中的键获取单个记录
node_modules/@angular/fire/firebase.app.module.d.ts 中的错误?