😀
Nuxt3 で Reactivity Transform を使う
まだ、公式ドキュメントに記載されていないのでメモ書き程度に
Reativity Transform が何ぞや!という方は以下の jay-es さんの記事を読まれると良いかと
Vue.js は Reactivity Transform でさらに進化する
使い方
nuxt.config.ts に experimental の reactivityTransform を有効にする設定を追加します。
nuxt.config.ts
import { defineNuxtConfig } from 'nuxt3'
// https://v3.nuxtjs.org/docs/directory-structure/nuxt.config
export default defineNuxtConfig({
experimental: {
reactivityTransform: true
}
})
追加後すぐに、$ref
などの記述を行うと 名前 '$ref' が見つかりません。
と以下画像の様に怒られます。
それを回避する為に typecheck を実行します。
npx nuxi typecheck
お疲れ様です!これで Reactivity Transform を使用する設定は完了です!
使用例
app.vue
<script setup lang="ts">
let count = $ref<number>(0);
function inc() {
count++;
}
function dec() {
count--;
}
</script>
<template>
<div>
<div>{{ count }}</div>
<button @click="inc">inc</button>
<button @click="dec">dec</button>
</div>
</template>
以下の様に問題なく変数に インクリメント、デクリメント が出来ました。
Discussion