1. <template>
    2. <div id="nav">
    3. <img alt="Vue logo" src="./assets/logo.png" />
    4. <h1>{{ data.count }}</h1>
    5. <h1>{{ data.double }}</h1>
    6. <button @click="data.increase">👍🏻+1</button>
    7. </div>
    8. </template>
    9. <script lang="ts">
    10. import { computed, reactive } from "vue";
    11. interface DataProps {
    12. count: number;
    13. double: number;
    14. increase: () => void;
    15. }
    16. export default {
    17. name: "App",
    18. setup() {
    19. const data: DataProps = reactive({
    20. count: 0,
    21. double: computed(() => {
    22. return data.count * 2;
    23. }),
    24. increase: () => {
    25. data.count++;
    26. },
    27. });
    28. return {
    29. data,
    30. };
    31. },
    32. };
    33. </script>