はじめに
ポートフォリオサイトをVue2からVue3へ移行する で移行したのだが、CompositionAPI
へ変更をしたので記事にする。
変更ポイント
すべての変更は下記↓
https://github.com/katsuobushiFPGA/portfolio-vue3/pull/3
script を script setupに変更する
<script></script>
で囲んでいた箇所を
<script setup></script>
とした。
これを利用することで、 setup
の関数を省略できるので使う。
data を refに変更する
data
としてリアクティブな変数を定義していたのだが、Vue3
のCompositionAPI
では、 ref
かreactive
を使うことになる。
今回は、ref
を使う。
※注意点として、ref
で定義した変数にはvalue
でアクセスすることになる
this.$router を useRouterにする
this.$router
で route
にアクセスしていたが、vue-router
のuseRouter
を使用する。
それに伴い変更をした。
computedの定義を変更する
const activeTitle = computed(() => {
const item = items.value.find(item => {
return item.name === router.currentRoute.value.name
})
return item?.title
})
例えばこんな感じになる。
以前は、
computed: {
activeTitle() {
const item = this.items.find(item => {
return item.name === this.$route.name
})
return item.title
}
},
みたいな感じであった。
import時のファイル参照に @ を使用する
下記のようなもの。
<script setup>
import Default from './layouts/default/Default.vue';
</script>
が
<script setup>
import Default from '@/layouts/default/Default.vue';
</script>
になる。
※Vue3
のCompositionAPI
特有の機能ではない。
おわりに
放置していたリファクタリングを今回実施した。Vue3
+Vite
など、エコシステムをもっと勉強していきたいので、暇になったらポートフォリオサイトを改造したい。