vue3 v-model用法

21 篇文章 1 订阅

子组件 

<template>
    <div>
        <input :value="age" @input="changeAge" ref="ageRef">
        <input :value="name" @input="changeName" ref="nameRef">
    </div>
</template>

<script>
    import {defineComponent,ref} from "vue"
    export default defineComponent({
        name: "Test.vue",
        props:{
            age: String,
            name:String,
        },
        setup(prop,context){
            const ageRef = ref()
            const nameRef = ref()
            const changeAge = ()=>{
                context.emit("update:age",ageRef.value.value)
            }
            const changeName = ()=>{
                context.emit("update:name",nameRef.value.value)
            }
            return {
                changeAge,
                ageRef,
                nameRef,
                changeName,
            }
        }
    })
</script>

父组件

<div>
    {{age02}}
    {{name02}}
    <Test v-model:age="age02"  v-model:name="name02"></Test>
</div>

<script lang="ts">
  import { defineComponent,reactive,ref,computed,onMounted} from 'vue';
  import 'bootstrap/dist/css/bootstrap.min.css'
  import Test from "@/components/Test.vue"


  export default defineComponent({
    name: 'App',

    setup(){  
      const age02 = ref("32")
      const name02 = ref("xx")


      return {
        age02,
        name02,
      }
    },
    components: {
      Test,
    }
  });
</script>

<style>
  #app {
    font-family: Avenir, Helvetica, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    /*text-align: center;*/
    color: #2c3e50;
    margin-top: 60px;
  }
</style>

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值