javascript - Vue.JS中获取firebase firestore后如何生成数据

标签 javascript firebase vue.js nuxt.js

我想将从 Firebase 获取的所有订单数据显示到浏览器控制台。请看下面的图片

enter image description here

这是在cue.js中编写如下代码后从firebase获取的数据

orders(){
    const db = firebase.firestore();
    const dbOrderRef = db.collection('order');
    dbOrderRef.get()
        .then(res => {
            res.forEach(doc => {
                console.log(doc.data())
            })
        })
        .catch(err => {
            console.log('error', err)
        })
}

我尝试在下面点赞

data中的实例变量

ordersData = []

然后在方法中

this.ordersData = doc.data()

但运气不好。

我现在可以做什么来实现我的目标?

谢谢

最佳答案

如果我正确理解您的问题,您希望将从 Firestore 查询收到的所有订单分配给 ordersData 数组。

以下应该可以解决问题:

const db = firebase.firestore();
const dbOrderRef = db.collection('order');

let orderArray = [];
dbOrderRef.get()
    .then(res => {
        res.forEach(doc => {
            let orderObj = doc.data();
            orderObj.id = doc.id;
            orderArray.push(orderObj);
        });
        this.ordersData = orderArray;
    })
    .catch(err => {
        console.log('error', err)
    })
<小时/>

然后您可以在模板中显示 ordersData 数组,如下所示:

            <div v-if="ordersData.length">
                <div v-for="order in ordersData">
                    <h5>{{ order.name }}</h5>
                    <p>Price: {{ order.price }}</p>
                    <p>
                     <a @click="openOrderDetail(order.id)">Open order</a>  
                     // Here we show how we can call an openOrderDetail() method passing the Firestore document id of the order.
                     // This would allow, for example to route to a page where you use the order id to query for the order document.
                    </p>
                </div>
            </div>

关于javascript - Vue.JS中获取firebase firestore后如何生成数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60482884/

相关文章:

javascript - 使用依赖注入(inject)在javascript中返回一个函数

ios - 如何使用 React Native Firebase 动态链接获取 iOS 的初始链接?

node.js - 尝试在 React App 中执行 "firebase deploy"时出错

java - 无法使用 FirebaseListAdapter 将数据获取到 Listview

javascript - 通过VueJS中的多个复选框将平面数组添加到v模型

javascript - Vue PWA : Use ServiceWorker to cache remote media assets from array of URLs

javascript - jQuery append 添加多个项目

javascript - 将图像挤压到窗口中,除非窗口比图像大

javascript - Vue2 - 用文本输入突出显示文本的方法

vue.js - 按显示文本(而非模型)对 Vuetify 表进行排序