Counter.vue 816 B

1234567891011121314151617181920212223242526272829
  1. <template>
  2. <div id="app">
  3. Clicked: {{ count }} times, count is {{ evenOrOdd }}.
  4. <button @click="increment">+</button>
  5. <button @click="decrement">-</button>
  6. <button @click="incrementIfOdd">Increment if odd</button>
  7. <button @click="incrementAsync">Increment async</button>
  8. </div>
  9. </template>
  10. <script>
  11. import { computed } from 'vue'
  12. import { useStore } from 'vuex'
  13. export default {
  14. setup () {
  15. const store = useStore()
  16. return {
  17. count: computed(() => store.state.count),
  18. evenOrOdd: computed(() => store.getters.evenOrOdd),
  19. increment: () => store.dispatch('increment'),
  20. decrement: () => store.dispatch('decrement'),
  21. incrementIfOdd: () => store.dispatch('incrementIfOdd'),
  22. incrementAsync: () => store.dispatch('incrementAsync')
  23. }
  24. }
  25. }
  26. </script>