vue2.0自定义组件的v-model原理详解,model的定义

以下示例是用单页面的形式写的。

a.vue  // a.vue是父级引用组件b.vue

<template>
<!--
    这儿是组件的父级,也就是组件的实例。实例本来应该定义事件来监听子组件的一切“异动”,
    但v-model呢却是给组件内部加个model:{prop:"自定义",event:"自定义"}来监听子组件的变化
-->
     <cst-test v-model="cstChecked"></cst-test>
     cstChecked:{
 { cstChecked }}
</template>

js里引入

import cstTest from "@/components/tcctest/tcctest_index.vue"

定义变量:data:{cstChecked :0}

注册组件:components:{cstTest }

b.vue  // 组件文件,b.vue引入test_refer.js

<template> 
        <div>
          <label><input type="checkbox" :checked="ychecked" @click="mychange($event)"/> 勾我吧</label>
        </div>
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue 3自定义组件的v-model默认绑定的是`modelValue`而不是`value`,接收的方法由`input`改为`@update:modelValue`。例如,在一个父组件,我们可以这样使用自定义组件: ``` <template> <child v-model="message" /> </template> ``` 然后在子组件,我们可以这样定义props和setup函数: ``` <script setup lang="ts"> import { defineProps, defineEmits } from 'vue' const props = defineProps({ modelValue: String }) const emits = defineEmits(['update:modelValue']) const onInput = (e) => { emits['update:modelValue'](e.target.value) } </script> <template> <input type="text" :value="modelValue" @input="onInput"> </template> ``` 通过这种方式,我们可以像使用原生的`v-model`一样在父组件使用自定义组件,并且可以正确地双向绑定`modelValue`的值。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [vue3 自定义组件v-model](https://blog.csdn.net/weixin_46694059/article/details/128935137)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [vue3自定义组件使用v-model](https://blog.csdn.net/qq_42075072/article/details/123800801)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值