useVModel
useVModel
v-model バインディング、props + emit -> ref の省略形
このコンポーザブルよりも Vue の
defineModelを使用することをお勧めしますが、TSXを使用する場合やdeep: trueオプションのようにdefineModelがサポートしていないエッジケースもあります。
使用法
import { useVModel } from '@vueuse/core'
const props = defineProps<{
modelValue: string
}>()
const emit = defineEmits(['update:modelValue'])
const data = useVModel(props, 'modelValue', emit)
Options API
import { useVModel } from '@vueuse/core'
export default {
setup(props, { emit }) {
const data = useVModel(props, 'data', emit)
console.log(data.value) // props.data
data.value = 'foo' // emit('update:data', 'foo')
},
}
© 2019–PRESENT Anthony Fu https://github.com/antfu
※このページは Nuxt.js 公式ドキュメントの翻訳ページです。
公式ドキュメントの該当ページはこちら:
#