我正在使用FirebaseUI for Web - Auth小部件来简化身份验证工作流程,而我遇到了问题。第一次一切正常。但是,在我登录后,小部件内容会消失,“登录...”按钮永远不会回来。尝试重新创建窗口小部件会显示错误“UI窗口小部件已在页面上初始化。每页只能初始化一个窗口小部件实例。”
这意味着用户需要刷新页面才能返回登录按钮。有更优雅的方式吗?
答案 0 :(得分:2)
您是在单页面应用程序中渲染窗口小部件吗?如果是这样,这目前不会奏效。每当您希望用户登录时,您都必须在弹出窗口中呈现登录小部件。
答案 1 :(得分:1)
正如bojeil在第一个答案(2016年5月)中所述,在单页面应用程序工作流程中使用它确实存在问题。但是在更新版本的firebase-ui中,您实际上可以重置窗口小部件,因此您无需再次初始化它。
您需要做的就是将窗口小部件实例引用保留在变量中。然后,当您想再次渲染它时,使用相同的引用,重置它然后重新启动它。
var ui;
if (ui) {
ui.reset();
} else {
ui = new firebaseui.auth.AuthUI(firebase.auth());
}
ui.start('#firebaseui-auth-container', uiConfig);