Counter.vue 903 B

1234567891011121314151617181920212223242526272829303132333435
  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. methods: {
  26. increment () {
  27. this.$store.dispatch('increment')
  28. }
  29. }
  30. }
  31. </script>