summaryrefslogtreecommitdiff
path: root/examples/framework-multiple/src/components/vue/VueCounter.vue
diff options
context:
space:
mode:
authorGravatar Matthew Phillips <matthew@skypack.dev> 2023-08-24 10:38:14 -0400
committerGravatar GitHub <noreply@github.com> 2023-08-24 10:38:14 -0400
commitf1c610636a7aeed0a272ab2669815135699b413c (patch)
treed7597c3468197559948f9fe2bafe13a8c3d71106 /examples/framework-multiple/src/components/vue/VueCounter.vue
parent608b2d732d762bf1f7f44a82b278caa8853c8c2f (diff)
parentebaccf8c1a2f37eacb6e1957c82fdf7f93b62b08 (diff)
downloadastro-f1c610636a7aeed0a272ab2669815135699b413c.tar.gz
astro-f1c610636a7aeed0a272ab2669815135699b413c.tar.zst
astro-f1c610636a7aeed0a272ab2669815135699b413c.zip
Merge pull request #8188 from withastro/next
Astro 3.0
Diffstat (limited to 'examples/framework-multiple/src/components/vue/VueCounter.vue')
-rw-r--r--examples/framework-multiple/src/components/vue/VueCounter.vue33
1 files changed, 33 insertions, 0 deletions
diff --git a/examples/framework-multiple/src/components/vue/VueCounter.vue b/examples/framework-multiple/src/components/vue/VueCounter.vue
new file mode 100644
index 000000000..74820f7f0
--- /dev/null
+++ b/examples/framework-multiple/src/components/vue/VueCounter.vue
@@ -0,0 +1,33 @@
+<template>
+ <!--
+ Seeing type errors on the word `class`?
+ This unfortunately happens because @types/react's JSX definitions leak into every file due to being declared globally.
+ There's currently no way to prevent this when using both Vue and React with TypeScript in the same project.
+ You can read more about this issue here: https://github.com/johnsoncodehk/volar/discussions/592
+ -->
+ <div class="counter">
+ <button @click="subtract()">-</button>
+ <pre>{{ count }}</pre>
+ <button @click="add()">+</button>
+ </div>
+ <div class="counter-message">
+ <slot />
+ </div>
+</template>
+
+<script lang="ts">
+import { ref } from 'vue';
+export default {
+ setup() {
+ const count = ref(0);
+ const add = () => (count.value = count.value + 1);
+ const subtract = () => (count.value = count.value - 1);
+
+ return {
+ count,
+ add,
+ subtract,
+ };
+ },
+};
+</script>