Disons, par exemple, que vous avez un panier de fruits, et qu'à chaque fois que vous ajoutez ou retirez un fruit de la corbeille, vous voulez (1) afficher des informations sur le nombre de fruits, mais vous souhaitez également (2) être informé du décompte des fruits d'une manière ou d'une autre...
Composant de comptage de fruits.vue
<template>
<!-- We meet our first objective (1) by simply -->
<!-- binding to the count property. -->
<p>Fruits: {{ count }}</p>
</template>
<script>
import basket from '../resources/fruit-basket'
export default () {
computed: {
count () {
return basket.state.fruits.length
// Or return basket.getters.fruitsCount
// (depends on your design decisions).
}
},
watch: {
count (newCount, oldCount) {
// Our fancy notification (2).
console.log(`We have ${newCount} fruits now, yay!`)
}
}
}
</script>
Veuillez noter que le nom de la fonction dans le champ watch
doit correspondre au nom de la fonction dans l'objet computed
objet. Dans l'exemple ci-dessus, le nom est count
.
Les nouvelles et anciennes valeurs d'une propriété surveillée seront passées en paramètres dans le callback de la surveillance (la fonction de comptage).
Le magasin de paniers pourrait ressembler à ceci :
corbeille a fruits.js
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
const basket = new Vuex.Store({
state: {
fruits: []
},
getters: {
fruitsCount (state) {
return state.fruits.length
}
}
// Obviously you would need some mutations and actions,
// but to make example cleaner I'll skip this part.
})
export default basket
Vous pouvez en savoir plus en consultant les ressources suivantes :
0 votes
Utilisez un plugin Vuejs qui est fourni avec chrome, il vous sera utile