【问题标题】:Vuefire Firestore Set DataVuefire Firestore 设置数据
【发布时间】:2020-10-20 01:44:33
【问题描述】:

我正在尝试使用以下代码让 vuefire 设置组件数据:

<script>
import { db } from "../../firebase/firestore";
export default {
  data() {
    return {
      newComment: {
        content: ""
      },
      comments: []
    };
  },
  firestore: {
    comments: db.collection("tester")
  },
</script>

但是,cmets 数据数组永远不会被填充。
我知道正在访问 firestore 数据库,因为每次刷新页面时我的使用情况统计都在攀升。 有谁知道如何让它工作?

【问题讨论】:

  • 您在此处显示的代码实际上并不是在查询 Firestore。 db.collection("tester") 只是创建一个 CollectionReference 对象,不读取或写入任何内容。
  • 天哪。从我在这里读到的内容:vuefire.vuejs.org/vuefire/…,似乎表明它正在阅读。关于如何阅读的任何建议,同时保持订阅对收藏的任何更改?
  • 没有意识到 vue 具有声明性绑定。不知道出了什么问题。
  • 虽然这确实是根据 VueFire 文档,但我很难弄清楚 VueFire 如何在这个 sn-p 中绑定。他们还记录了here$bind 语法对我来说似乎更常见,所以可能值得尝试(首先):this.$bind('comments', db.collection('tester'))
  • 谢谢!这让我走上了正确的道路。现在收到错误说明权限不足。我该如何配置它以允许我的应用获取数据?

标签: javascript vue.js google-cloud-firestore vuefire


【解决方案1】:

对于任何寻求帮助的人。
文档没有明确告诉您将插件文件导入 Main.js 文件(您在其中创建 Vue 实例)。这是必不可少的,它允许在您的任何组件中使用 $bind。
从那里我在 created() 挂钩中使用了 Frank Van Puffelen 的建议来设置本地数据。
还要查看您的 Firestore 规则,以确保您允许读取或写入请求。

【讨论】:

    猜你喜欢
    • 2021-05-05
    • 2021-06-01
    • 2018-12-19
    • 2021-06-23
    • 2021-05-02
    • 2021-05-04
    • 2019-01-05
    • 1970-01-01
    • 2020-01-10
    相关资源
    最近更新 更多