Maison > Questions et réponses > le corps du texte
P粉6656790532023-08-31 11:46:54
vue/no-async-in-computed-properties
Les propriétés ne sont pas capturées dans les modèles, mais les hooks de cycle de vie peuvent obtenir des données via les propriétés calculées
La raison pour laquelle vous voyez cela dans la console est que la plupart des navigateurs modernes enregistrent les objets sous forme de données en direct (une fois l'objet mis à jour, la console se met également à jour). Donc ce que vous voyez dans la console n'est pas console.log
执行时对象的值,而是稍后的值。你可以通过使用console.log(JSON.parse(JSON.stringify(this.products)))
pour confirmer cela...
Pour résoudre ce problème, utilisez watch
而不是computed
data() { return { products: [] } }, watch: { '$route.query.pid': { handler: function(newValue) { if(newValue) { axios.get(`/api/products/${newValue}`).then(response => { var product = { id: response.data[0].id, name: response.data[0].name, units: response.data[0].units image: response.data[0].product_image[0].image price: response.data[0].price quantity: 1 } this.products = [] this.products.push(product) } else this.products = this.$store.state.cart }, immediate: true } },