首页IT科技vue3.0 使用vuex(vue3中emit(‘update:modelValue‘)使用)

vue3.0 使用vuex(vue3中emit(‘update:modelValue‘)使用)

时间2025-05-28 19:53:53分类IT科技浏览5903
导读:父 <template>...

<template> <TestCom v-model="test1" v-model:test2="test2"></TestCom> <h1>{{test1}}测试1</h1> <h1>{{test2}}测试2</h1> </template> <script setup> import { ref, reactive } from vue const test1 = ref() const test2 = ref() </script>

子(setup语法糖)

<template> <input v-model="message" @input="changeInfo(message)" /> <input v-model="message2" @input="changeInfo2(message2)" /> </template> <script setup> import { ref, watch } from vue; // 此处引入 const emit = defineEmits([update:modelValue, update:test2]) const props = defineProps({ // 父组件 v-model 没有指定参数名,则默认是 modelValue modelValue:{ type:String, default: test }, test2: { type: String, default: aaa } }) let message = ref(123) let message2 = ref(456) // 因为props.modelValue、props.test2是非引用类型,改变时,需要监听,对响应式数据重新赋值 watch(()=> props.modelValue,() => {message.value = props.modelValue}) watch(()=> props.test2,() => {message2.value = props.test2}) // 数据双向绑定 const changeInfo = (info) => { emit(update:modelValue, info) } const changeInfo2 = (info2) => { emit(update:test2, info2) } </script>

子(常规写法)

<script> import { ref, watch } from vue; export default { props: { // 父组件 v-model 没有指定参数名,则默认是 modelValue modelValue:{ type:String, default: test }, test2: { type: String, default: aaa } }, setup(props, { emit }) { let message = ref(123) let message2 = ref(456) // 因为props.modelValue、props.test2是非引用类型,改变时,需要监听,对响应式数据重新赋值 watch(()=> props.modelValue,() => {message.value = props.modelValue}) watch(()=> props.test2,() => {message2.value = props.test2}) // 数据双向绑定 const changeInfo = (info) => { emit(update:modelValue, info) } const changeInfo2 = (info2) => { emit(update:test2, info2) } return { message, message2, changeInfo, changeInfo2 } } } </script>

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
yolov3训练过程中权重如何变化(关于yolov8一些训练的情况) 优化企业SEO,提升用户体验(如何用SEO技术让用户爱上你的网站?)