diff options
author | 2021-06-28 07:02:59 -0500 | |
---|---|---|
committer | 2021-06-28 07:02:59 -0500 | |
commit | 3c26035f535d4e54a60fde871a75fb4371ccdbe8 (patch) | |
tree | 75b37a3caf9ac3be607a6c9df0cbb71fb07392d2 /examples/with-vue | |
parent | 436783d059ad70e1f7d8438d9eefcb9c5257e2d3 (diff) | |
download | astro-3c26035f535d4e54a60fde871a75fb4371ccdbe8.tar.gz astro-3c26035f535d4e54a60fde871a75fb4371ccdbe8.tar.zst astro-3c26035f535d4e54a60fde871a75fb4371ccdbe8.zip |
Split out specific framework examples (#559)
* rename kitchen sink, pull out react example
* split out the rest of the examples
* align versions
Co-authored-by: Austin Crim <crim.austin@principal.com>
Diffstat (limited to 'examples/with-vue')
-rw-r--r-- | examples/with-vue/.npmrc | 2 | ||||
-rw-r--r-- | examples/with-vue/package.json | 15 | ||||
-rw-r--r-- | examples/with-vue/src/components/Counter.vue | 27 | ||||
-rw-r--r-- | examples/with-vue/src/pages/index.astro | 38 |
4 files changed, 82 insertions, 0 deletions
diff --git a/examples/with-vue/.npmrc b/examples/with-vue/.npmrc new file mode 100644 index 000000000..0cc653b2c --- /dev/null +++ b/examples/with-vue/.npmrc @@ -0,0 +1,2 @@ +## force pnpm to hoist +shamefully-hoist = true
\ No newline at end of file diff --git a/examples/with-vue/package.json b/examples/with-vue/package.json new file mode 100644 index 000000000..a3d07b573 --- /dev/null +++ b/examples/with-vue/package.json @@ -0,0 +1,15 @@ +{ + "name": "@astrojs/with-vue-example", + "private": true, + "version": "0.0.1", + "scripts": { + "start": "astro dev", + "build": "astro build" + }, + "devDependencies": { + "astro": "^0.15.0" + }, + "snowpack": { + "workspaceRoot": "../.." + } +} diff --git a/examples/with-vue/src/components/Counter.vue b/examples/with-vue/src/components/Counter.vue new file mode 100644 index 000000000..8179fb1d9 --- /dev/null +++ b/examples/with-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/with-vue/src/pages/index.astro b/examples/with-vue/src/pages/index.astro new file mode 100644 index 000000000..949012d0f --- /dev/null +++ b/examples/with-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> |