【问题标题】:Vue 3 + Firebase onAuthStateChanged mountVue 3 + Firebase onAuthStateChanged 挂载
【发布时间】:2021-05-25 07:49:26
【问题描述】:

我正在关注使用以下代码的 Vue 教程:

let app
auth.onAuthStateChanged(() => {
  if (!app) {
    app = new Vue({
      router,
      store,
      render: h => h(App)
    }).$mount('#app')
  }
})

如果用户重新加载页面,这应该确保 Firebase 在安装应用之前加载 authState。

但是,我使用的是 Vue 3,因此我无法再通过 new Vue() 进行初始化,因为您现在必须使用 createApp。 我正在通过以下方式初始化和安装我的应用程序:

createApp(App).use(store).use(router).mount('#app')

不幸的是,我不知道如何确保数据库仍然以相同的方式初始化,并且我无法找到合适的解决方案(在 google 和 SO 上花费了最后一个小时)。

非常感谢任何帮助,也许我只是缺少一个简单的承诺或类似概念。

非常感谢,祝您身体健康!

【问题讨论】:

  • 我不明白你到底是什么意思,但是。 Vue.createApp 还返回一个应用程序实例,您可以在上面提供的示例中使用它。在这里查看v3.vuejs.org/guide/…

标签: firebase vue.js vuejs3


【解决方案1】:

Vue 3 的 createApp 与 Vue 2 的 new Vue() 相同,返回 Vue 应用实例:

let app;

auth.onAuthStateChanged(() => {
  if (!app) {
    app = createApp(App).use(store).use(router).mount('#app')
  }
})

【讨论】:

  • 太棒了,非常感谢!这比预期的要简单得多,我的脑子里一定有一个小障碍。
猜你喜欢
  • 2021-05-08
  • 2020-11-15
  • 2016-12-29
  • 1970-01-01
  • 2018-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多