首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用vuexfire从防火墙数据库中获取数据?

如何使用vuexfire从防火墙数据库中获取数据?
EN

Stack Overflow用户
提问于 2020-10-21 11:10:40
回答 1查看 269关注 0票数 0

我正在使用以下数据模型编写聊天应用程序:

使用以下方法: store/index.js

代码语言:javascript
复制
 actions: {
bindMessages: firestoreAction(({ state, bindFirestoreRef }) => {
  // return the promise returned by `bindFirestoreRef`
  return bindFirestoreRef(
    'messages',
    db.collection('groupchats')
  );
}),
},

然后,我从vue组件中访问消息store.state,如下所示:

代码语言:javascript
复制
computed: {
Messages() {
  return this.$store.state.messages;
},
},

根据炉火文档的说法。我能够获得整个集合的数据(积极地),但我需要特定文档的**消息数组**,前提是我知道文档id。我怎样做呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-21 12:36:46

以下是其中的诀窍:

代码语言:javascript
复制
state: {
    // ...
    doc: null
},

mutations: vuexfireMutations,

getters: {
   // ...
},

actions: {
    bindDoc: firestoreAction(({ bindFirestoreRef }) => {
        return bindFirestoreRef('doc', db.collection('groupchats').doc('MI3...'))
    })
}

您可以将其动态化如下:

组件:

代码语言:javascript
复制
// ...
<script>
export default {
  created() {
    this.$store.dispatch('bindDoc', { id: '........' }); // Pass the desired docId, e.g. MI3...
  },
};
</script>
// ...

Vuex商店:

代码语言:javascript
复制
state: {
    // ...
    doc: null
},

mutations: vuexfireMutations,

getters: {
  // ...
},
actions: {
    bindDoc: firestoreAction(({ bindFirestoreRef }, payload) => {
        return bindFirestoreRef('doc', db.collection('groupchats').doc(payload.id));
    }),
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64462297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档