Maison > Questions et réponses > le corps du texte
Comment afficher les accessoires dans filteredProducts lors de l'utilisation d'axios pour obtenir des données. J'ai passé les accessoires comme indiqué ci-dessous.
export default { data() { return { filteredProducts: [], }; }, mounted() { axios .get('/src/stores/sneakers.json') .then(response => { const products = response.data this.filteredProducts = products.filter(product => product.name.includes('Nike')) }) }, computed: { resultCount () { return Object.keys(this.filteredProducts).length }, }, props: { brand: { type: Object, }, },
Je souhaite remplacer "Nike" par le nom de la marque transmis. Merci beaucoup
P粉8721016732023-09-09 09:13:18
Sélectionnez le produit nommé "Nike" et transmettez-le dans filteredProducts
. Ensuite, vous pouvez modifier le nom à l'aide d'une propriété calculée et l'utiliser dans le modèle.
<template> <div v-for="(item, i) in nikeProducts" :key="i" > </div> </template> <script> export default { props: { brand: { type: Object } } data() { return { filteredProducts: [], }; }, mounted() { axios .get('/src/stores/sneakers.json') .then(response => { const products = response.data this.filteredProducts = products.filter(product => product.name.include('Nike')); }) }, computed: { nikeProducts() { return this.filteredProducts.map(product => product.name = this.brand.name) } } } </script>
P粉5292450502023-09-09 09:09:06
export default { data() { return { products: [], }; }, mounted() { this.getSneakers(); }, methods: { getSneakers() { axios .get('/src/stores/sneakers.json') .then(response => { this.products = response.data ?? []; }) } }, computed: { resultCount () { return this.filteredProducts?.length ?? 0 }, brandName() { return this.brand?.name ?? ""; }, filteredProducts () { return this.products?.filter( product => product.name?.toLowerCase()?.includes(this.brandName.toLowerCase()) ) }, }, props: { brand: { type: Object, }, }, }