在我们的日常开发中,时常需要写一些自定义组件,而其中可能就会使用到v-model,v-model是Vue中的一个指令,用来实现数据的双向绑定,实现数据、视图更新,v-model是一个语法糖,,我们可以自定义v-model指令的部分内容。

vue2中自定义v-model

在vue2中想要自定义v-model,我们需要在组件中设定model变量

export default {name:'SlideOption',model:{ // 激活的下标值prop:'activeIndex',event:'update'},props: {slides: {type: Array,default() {return ['广场','我的圈子','话题']}},activeIndex:{ // 用来获取当前活跃的按钮下标值type:[String,Number],default:0}},methods: {changeIndex(index){this.$emit('update',index) // 通过该事件更新绑定的值}}
}

然后父组件引入该子组件后,v-model绑定对应的变量即可,子组件中触发changeIndex事件即可使这个绑定的值slideIndex发生变化

<SlideOption v-model="slideIndex"></SlideOption>

vue3中自定义v-model

在vue3中想要自定义v-model,我们不在需要在组件中设定model变量了

export default {name:'SlideOption',props: {slides: {type: Array,default() {return []}},activeIndex:{ // 用来获取当前活跃的按钮下标值type:[String,Number],default:0}},setup(context) {const changeIndex = (index) => {context.emit("update:activeIndex", index);}const changeSlides = (info) => {context.emit("update:slides", info);}return {changeIndex,changeSlides }}
}

父组件中引入子组件,绑定值

<SlideOption v-model:activeIndex="slideIndex" v-model:slides="slideInfo"></SlideOption>

vue2、vue3中自定义v-model的使用区别

vue2中只允许在组件上使用一个 model,vue3中双向数据绑定的 API 标准化,组件上允许使用多个model。

vue2、vue3中自定义v-model的使用和区别相关推荐

  1. 手把手教你在 Vue3 中自定义指令

    TienChin 项目前端是 Vue3,前端有这样的一个需求:有一些前端页面上的按钮要根据用户的权限来决定是否展示出来,如果用户具备相应的权限,那么就展示对应的按钮:如果用户不具备对应的权限,那么按钮 ...

  2. vue3中自定义组件使用v-model

    vue2 中的v-model v-model本质上是一个语法糖,如下代码 <input v-model="test"> <!--上面代码本质上就是下方代码--&g ...

  3. Vue watch监听详解,一篇文章彻底搞懂Vue2/Vue3中的watch监听

    watch监听在vue2和vue3中的用法详解(全) Vue2中的watch用法 Vue3中的watch用法 首先写一个vue页面 <template><div><h1& ...

  4. Vue3中自定义ref

    文章目录 使用ref 使用customRef自定义ref 使用ref main.js import { createApp } from 'vue' import App from './App.vu ...

  5. SpringMVC框架中ModelAndView、Model、ModelMap的区别与使用

    1. Model Model 是一个接口, 其实现类为ExtendedModelMap,继承了ModelMap类. public class ExtendedModelMap extends Mode ...

  6. vue2.0中的:is和is的区别

    此文首发于 https://lijing0906.github.io/ 最近,工作之余在翻阅vue.js的官方文档,在查看到动态组件和解析 DOM 模板时的注意事项的时候,讲到一个特殊的is特性,觉得 ...

  7. odoo 新API装饰器中one、model、multi的区别

    在阅读本文章前,如果对one.model.multi装饰类不清楚的同学,可以参考本人前几篇文章. 1.one装饰器详解 odoo新API中定义方式: date=fields.Date(string=& ...

  8. 黑马前端Vue2+Vue3全套视频教程上新!500+集资源免费领

    互联网发展至今,前端工程师以其高需求量和高薪酬成为IT行业职场新贵. 走进现代前端开发行业,播妞发现,每一位前端开发人员都面临着一个重要决策,选择一个合适的框架. 这时,更符合时代大势所趋的前端框架 ...

  9. 深入浅出虚拟 DOM 和 Diff 算法,及 Vue2 与 Vue3 中的区别

    因为 Diff 算法,计算的就是虚拟 DOM 的差异,所以先铺垫一点点虚拟 DOM,了解一下其结构,再来一层层揭开 Diff 算法的面纱,深入浅出,助你彻底弄懂 Diff 算法原理 认识虚拟 DOM ...

最新文章

  1. 中秋祝福网页制作_中秋节祝福语不知怎么写?这3个小程序让你的祝福更精美...
  2. 刚刚!美国官宣100000名 IT 人失业,感觉很慌 !
  3. [禅悟人生]每个人都可以获得自己的精彩
  4. IO口多路查理复用:三个单片机IO口控制六个LED
  5. (Ipython)Matplotlib 中将二叉树可视化
  6. python网络爬虫资源库名_Python网络爬虫
  7. Starter Kit for ASP.NET 2.0 家族又添新丁!
  8. 善用工具和网上资源-决定学习的效率
  9. 【目标跟踪】基于matlab背景差分多目标捕捉【含Matlab源码 810期】
  10. linux查看耗费流量的进程--iftop
  11. 福昕高级pdf编辑器10企业版 v10.1.0中文直装版
  12. 【阿朱一帖看尽】2014年BAT到底干了些什么
  13. 免费的WinCC语音报警控件
  14. SpringCloud使用Feign调用第三方接口
  15. 51nod-1429 巧克力
  16. C# 单个按钮实现暂停或继续
  17. Kesci“魔镜杯”风控算法大赛复赛解决方案(转载)
  18. Gephi 网络可视化——调整网络布局
  19. 传统6大茶类都有哪些
  20. C++ 数据结构与算法 (十一)(排序算法)

热门文章

  1. 【CXY】JAVA基础 之 Collections
  2. Springboot毕设项目企业财务管理系统lmm93java+VUE+Mybatis+Maven+Mysql+sprnig)
  3. 全栈工程师的百宝箱:黑魔法之文档篇
  4. uniapp做高德地图
  5. 从《西部世界》到GAIL(Generative Adversarial Imitation Learning)算法
  6. 【CTFhub】web-信息泄露-备份文件下载-网站源码_WriteUp
  7. 【渝粤教育】广东开放大学 国际法 形成性考核 (37)
  8. 如何将图片存进SQL数据库中以及从数据库读取照片(解决办法)
  9. ApkScan-PKID查壳工具+脱壳(搬运)
  10. springboot 实现redis高并发抢票服务