vue3组件数据双向绑定

1.双向绑定传递基本数据类型

父组件

<template>
   <div>
      <test v-model="searchText"/>
      <p>父组件值:{
  { searchText }}</p>
   </div>
</template>
 
<script setup lang='ts'>
import {
      ref } from 'vue'
import test from "@/components/test.vue";
const searchText=ref(0)
</script>

子组件(写法一)

<template>
   <div>
     <input type="text" :value="modelValue" @input="emit('update:modelValue',$event.target.value)">
   </div>
</template>
 
<script setup lang='ts'>
const props=defineProps(
  {
     
    modelValue:{
     
      type:Number,
      require:true
    }
  }
)
const emit=defineEmits(['update:modelValue'])
</script>

子组件(写法二 绑定到计算属性上)

<template>
   <div>
     <input type="text" v-model="hhh">
   </div>
</template>
 
<script setup lang='ts'>
import {
      computed } from "vue";
const props=defineProps(
  {
     
    modelValue:{
     
      type:Number,
      required:true
    }
  }
)
const emit=defineEmits(['update:modelValue'])

 const hhh=computed({
     
  get(){
     
    return props.modelValue
  },
  set(value){
     
   emit('update:modelValue',value)
  }
})
</script>

2.双向绑定对象
父组件

<template>
   <div>
      <test v-model="obj"/>
      <p>父组件值:{
  { obj.name }}</p>
   </div>
</template>
 
<script setup lang='ts'>
import {
      ref } from 'vue'
import test from "@/components/test.vue";

const obj=ref({
     
   name:"小明",
   age:28
})
</script>

子组件

<template>
   <div>
     <input type="text" v-model="modelValue.name">
   </div>
</template>
 
<script setup lang='ts'>
const props=defineProps(
  {
     
    modelValue:{
     
      type:Object,
      required:true
    }
  }
)
const emit=defineEmits(['update:modelValue'])
</script>

相关推荐

  1. vue3组件数据双向

    2024-01-07 02:10:01       54 阅读
  2. Vue 双向数据

    2024-01-07 02:10:01       40 阅读
  3. Vue双向数据原理

    2024-01-07 02:10:01       63 阅读
  4. vue自定义组件实现父子组件数据双向

    2024-01-07 02:10:01       38 阅读
  5. vue 双向

    2024-01-07 02:10:01       36 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-07 02:10:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-07 02:10:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-07 02:10:01       82 阅读
  4. Python语言-面向对象

    2024-01-07 02:10:01       91 阅读

热门阅读

  1. C++ 单调栈 || 单调栈模版题

    2024-01-07 02:10:01       64 阅读
  2. git 使用场景 本地分支 关联 远程分支

    2024-01-07 02:10:01       57 阅读
  3. day 34(补)贪心(3)

    2024-01-07 02:10:01       60 阅读
  4. hydra爆破

    2024-01-07 02:10:01       56 阅读