diff options
Diffstat (limited to 'examples/framework-vue/src')
-rw-r--r-- | examples/framework-vue/src/components/Counter.vue | 27 | ||||
-rw-r--r-- | examples/framework-vue/src/pages/index.astro | 38 |
2 files changed, 65 insertions, 0 deletions
diff --git a/examples/framework-vue/src/components/Counter.vue b/examples/framework-vue/src/components/Counter.vue new file mode 100644 index 000000000..8179fb1d9 --- /dev/null +++ b/examples/framework-vue/src/components/Counter.vue @@ -0,0 +1,27 @@ +<template> + <div class="counter"> + <button @click="subtract()">-</button> + <pre>{{ count }}</pre> + <button @click="add()">+</button> + </div> + <div class="children"> + <slot /> + </div> +</template> + +<script> +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> diff --git a/examples/framework-vue/src/pages/index.astro b/examples/framework-vue/src/pages/index.astro new file mode 100644 index 000000000..949012d0f --- /dev/null +++ b/examples/framework-vue/src/pages/index.astro @@ -0,0 +1,38 @@ +--- +import Counter from '../components/Counter.vue' +--- + +<html> + <head> + <meta charset="utf-8" /> + <meta + name="viewport" + content="width=device-width, initial-scale=1, viewport-fit=cover" + /> + <style> + :global(:root) { + font-family: system-ui; + padding: 2em 0; + } + :global(.counter) { + display: grid; + grid-template-columns: repeat(3, minmax(0, 1fr)); + place-items: center; + font-size: 2em; + margin-top: 2em; + } + :global(.children) { + display: grid; + place-items: center; + margin-bottom: 2em; + } + </style> + </head> + <body> + <main> + <Counter:visible> + <h1>Hello Vue!</h1> + </Counter:visible> + </main> + </body> +</html> |