фильтрующий массив с firebase и vuejs - PullRequest
0 голосов
/ 25 сентября 2019

Я делаю веб-приложение с vuejs и firebase.Я получил стек, используя фильтр массив для «толкания» в таблицу данных.

Я думаю, что я правильно следую инструкциям по использованию метода filter (), но не работает

methods: {

 consulProds {
  let resultado = await db.collection('productos')
           .get()                

  resultado.docs.forEach(doc => {
          let productosTot = doc.data()

          let productosInd= productosTot.filter(producto=> 
                            producto.precio== 99)

           this.productosind.push(productosInd)    

  })
 }
} 

когда я делаю «push» без кода строки метода «filter» и использую «doc.data ()», это работает, и я получаю массив в моей «таблице данных».Но ничего не происходит с помощью «фильтра».

1 Ответ

1 голос
/ 25 сентября 2019

Причина, скорее всего, заключается в том, что productosTot - это не массив, а «просто» объект JavaScript (который не является массивом), см. https://firebase.google.com/docs/reference/js/firebase.firestore.QueryDocumentSnapshot.html#data

Просто проверьте значение precio с помощьюif, следующим образом:

methods: {

 consulProds {
  let resultado = await db.collection('productos').get()                

  resultado.docs.forEach(doc => {
     let producto = doc.data()
     if (producto.precio == 99) this.productosind.push(producto)    
  })
 }

} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...