ã2026幎çãVueã®å§ãæ¹ â ããããããã³ããšã³ããã¬ãŒã ã¯ãŒã¯å ¥é
- Viteã䜿ã£ãVueç°å¢ã®æ§ç¯
- Composition APIã®åºæ¬ïŒsetup/ref/computedïŒ
- v-bindã»v-onã»v-ifã»v-for ãã£ã¬ã¯ãã£ã
- ã³ã³ããŒãã³ãã®åå²ãšprops
ã»ããã¢ããæé
# Viteã䜿ã£ãVueãããžã§ã¯ãäœæ
npm create vite@latest my-vue-app -- --template vue-ts
cd my-vue-app
npm install
npm run dev
ã³ã³ããŒãã³ãã®åºæ¬ïŒComposition APIïŒ
<script setup lang="ts">
import { ref, computed } from 'vue'
const count = ref(0)
const doubled = computed(() => count.value * 2)
function increment() {
count.value++
}
</script>
<template>
<div>
<p>ã«ãŠã³ã: {{ count }}ïŒ2å: {{ doubled }}ïŒ</p>
<button @click="increment">+1</button>
</div>
</template>
<style scoped>
button { padding: 0.5rem 1rem; }
</style>
ããããè©°ãŸããã€ã³ã
Q: ref ã®å€ã倿Žãããšãã« .value ãå¿
èŠãªã®ã¯ãªãïŒ
â ref ã¯ãªããžã§ã¯ãã§ãªã¢ã¯ãã£ããªå€ãã©ããããŠããããã.value ã§ã¢ã¯ã»ã¹ããŸãããã³ãã¬ãŒãå
ã§ã¯èªåçã«ã¢ã³ã©ãããããã®ã§ {{ count }} ãšæžãã°OKã§ãã
Q: Options APIãšComposition APIã©ã¡ãã䜿ãã¹ãïŒ â æ°èŠãããžã§ã¯ãã§ã¯åå©çšæ§ãé«ãComposition APIãæšå¥šãããŠããŸããæ¢åã®Vue 2ã³ãŒããèªãæ©äŒãããå Žåã¯Options APIãåŠãã§ãããšåœ¹ç«ã¡ãŸãã
Q: v-model ãããŸãåããªã
â v-model ã¯ãã©ãŒã èŠçŽ ïŒinput/selectïŒã§åæ¹åãã€ã³ãã£ã³ã°ã«äœ¿ããŸããåã³ã³ããŒãã³ãã§ã¯ defineProps ãš defineEmits ãçµã¿åãããŠå®è£
ããŸãã