首页 > 其他分享 >Vue中 v-model 和 model 的区别

Vue中 v-model 和 model 的区别

时间:2023-12-13 17:47:52浏览次数:20  
标签:Vue 区别 default HomeChild 组件 input model

Vue中 v-model 和 :model 的区别

1、v-model

  • 通常用于表单上双向数据的绑定,如果除了表单其他组件使用时,起不到任何效果。

  • 它还可以实现子组件到父组件的双向数据动态绑定。

    input上的v-model:
    <input v-model="price"><!-- 下行注释的语法糖 -->
     <!-- <input :value="price" @input="price = $event.target.value"> --> // $event.target.value 就是把input的值赋值给 price
    
    组件上的v-model:
    父组件Home:
    <template><HomeChild v-model="vModelData"></HomeChild>
    </template>
    <script>
    import HomeChild from './child/HomeChild.vue'
    export default {
        name: 'Home',
        components: { HomeChild },
        data () {
            return {
                vModelData: 'hello v-model'
            }
        }
    }
    </script> 
    
    子组件HomeChild:
    <template>
    <div class="box">
        <span>{{ value }}</span>
        <button @click="testVModel">测试v-model</button>
    </div>
    </template>
    
    <script>
    export default {
        name: 'HomeChild',
        props: { value: { type: String, default: '' }},
        methods: { 
            testVModel () {
                this.$emit('input', '我是子组件'); <!--子组件触发input事件来改变value的值-->
            }
        }
    }
    </script> 
    
    

2、:model

:model是v-bind:model的缩写。

只是将父组件的值传递给和子组件,但是并未实现子组件和父组件之间的双向数据绑定。

如:

<child :model="msg"></child> <!--只是将父组件的数据传递到子组件-->

引用类型除外,子组件改变了引用类型的数据的话,父组件的数据也会跟着改变。

引用类型有这几种:Object、Array、RegExp、Date、Function;特殊的基本包装类型(String、Number、Boolean)以及单体内置对象(Global、Math)。

标签:Vue,区别,default,HomeChild,组件,input,model
From: https://www.cnblogs.com/domin520Jian/p/17667405.html

相关文章

  • 本地部署modelscope-agent
    本地部署modelscope-agent部署流程在modelscope社区创建一个自己的空间(假设name是LocalAgent),clone空间到本地(或云服务器如魔搭Notebook)gitclonehttps://github.com/modelscope/modelscope-agent复制项目中的modelscop_agent文件夹到你刚才clone的空间文件夹LocalAgent里......
  • TSINGSEE视频智能解决方案边缘AI智能与后端智能分析的区别与应用
    视频监控与AI人工智能的结合是当今社会安全领域的重要发展趋势。随着科技的不断进步,视频监控系统已经不再局限于简单的录像和监视功能,而是开始融入人工智能技术,实现更加智能化的监控和安全管理。传统的监控系统往往需要人工操作来进行监控和分析,而引入AI技术后,监控系统可以自动识别......
  • vue版本区别
    一、说明:1、VueCLI4.5以下,对应的是Vue2;VueCLI4.5及以上,对应的是Vue3,当然,创建项目的时候可以选择Vue22、Vue2最老的版本是含index.html的,通过“yarnglobaladdvue-cli”安装,得到的最新版本号是2.9.63、只有Vue2不含Vue3的版本范围是3.3.0~4.4.6,通过“yarnglobaladd@vu......
  • std::make_pair & std::make_tuple 的区别和联系
    std::make_pair和std::make_tuple都是用于创建对应类型的对象的C++标准库函数模板。它们的区别主要在于它们所处理的数据类型和返回类型。std::make_pair:std::make_pair用于创建一个std::pair对象,std::pair是一个包含两个值的容器。#include<iostream>#include<......
  • 华为认证 | 有本HCIE证书,待遇区别竟然这么大
    在当今竞争激烈的IT行业,高含金量的职业证书不仅是对个人技能水平的认证,更是提升职业发展、薪资待遇的利器。其中,HCIE证书无疑是备受瞩目的明星认证。那么持有HCIE证书待遇有啥区别?下面我们就来了解一下吧。01持有HCIE证书待遇有啥区别★薪资福利持有HCIE证书往往意味着更高的薪资......
  • Vue后台项目开发必备:全面解析分辨率适配与网页缩放技巧!
    1.各屏幕分辨率下适配展示首先给大家展示一下我的屏幕分辨率兼容效果,方便大家来判断我的适配方案是否可行正常1920*1080100%1920*1080150%1440*900100%1440*900150%2.屏幕分辨率适配方案这里就不再过多举例了,通过这四张图可以看出来页面布局并没有受到过多的影响,所以直接上代......
  • Vue后台项目开发必备:全面解析分辨率适配与网页缩放技巧!
    1.各屏幕分辨率下适配展示首先给大家展示一下我的屏幕分辨率兼容效果,方便大家来判断我的适配方案是否可行正常1920*1080100%1920*1080150%1440*900100%1440*900150%2.屏幕分辨率适配方案这里就不再过多举例了,通过这四张图可以看出来页面布局并没有受到过多的影响,所以直接上代......
  • springboot+VUE——mybatis分页和Element Plus的分页组件实践
    分页只有基础的分页功能,跳转和动态选择每页展示多少条数据的功能可以参考ElementPlus的分页组件自行配置并且传入相应的方法即可!<scriptlang="ts"setup>/***分页变量数据*/constpagination=ref({ current_page:1, // 当前页码,此处默认为第一页 total_data:0......
  • 阻塞队列linkedBlockQuene和syncroBlockQuene的区别?
    在Java中,LinkedBlockingQueue和SynchronousQueue是两种不同类型的阻塞队列,它们有一些关键的区别:实现机制:LinkedBlockingQueue使用一个链表实现的有界或无界队列。有界队列的容量是固定的,而无界队列的容量理论上是无限的。SynchronousQueue是一个特殊的阻塞队列,它在内部......
  • vue+elementUi中国省市区/省市,三级/两级联动选择
    安装城市数据npminstallelement-china-area-data-S导入数据import{regionData,codeToText}from'element-china-area-data' 1.显示全部城市HTML代码:<template#equipmentdistrict-form=""><el-cascaderplaceholder="请选择......