Vue自定义v-model

简介: 版权声明:本文首发 http://asing1elife.com ,转载请注明出处。 https://blog.csdn.net/asing1elife/article/details/82811783 ...
版权声明:本文首发 http://asing1elife.com ,转载请注明出处。 https://blog.csdn.net/asing1elife/article/details/82811783

Vue的v-model双向绑定非常实用,对于自定义组件也可以自定义实现v-model

更多精彩

实现方案

  1. 在组件的 props 中定义 value 值用于接收父级传入的内容
props: {
  value: {
    type: Boolean,
    default: false
  }
}
  1. 在组件的 data() 中定义将 value 另存为的实际值
data () {
  return {
    show: false
  }
}
  1. 在组件的 watch 中监听两个值的变化
    • 监听 value 变化的目的是将最新的值专递给组件中的实际值
    • 监听 show 变化的目的是当实际值发生变化时告知父容器传入值已发生变化
watch: {
  value (val) {
    if (val === this.show) {
      return false
    }

    this.show = val
  },
  show (val) {
    this.$emit('input', val)
  }
}
  1. 在父容器中使用 v-model 传入需要双向绑定的值即可
目录
相关文章
|
3天前
|
JavaScript 前端开发
vue(1),小白看完都会了
vue(1),小白看完都会了
|
2天前
|
JavaScript 开发工具 git
Vue 入门系列:.env 环境变量
Vue 入门系列:.env 环境变量
8 1
|
2天前
|
缓存 监控 JavaScript
探讨优化Vue应用性能和加载速度的策略
【5月更文挑战第17天】本文探讨了优化Vue应用性能和加载速度的策略:1) 精简代码和组件拆分以减少冗余;2) 使用计算属性和侦听器、懒加载、预加载和预获取优化路由;3) 数据懒加载和防抖节流处理高频事件;4) 图片压缩和选择合适格式,使用CDN加速资源加载;5) 利用浏览器缓存和组件缓存提高效率;6) 使用Vue Devtools和性能分析工具监控及调试。通过这些方法,可提升用户在复杂应用中的体验。
10 0
|
2天前
|
JavaScript
vue知识点
vue知识点
10 0
|
3天前
|
JavaScript 前端开发 定位技术
Vue使用地图以及实现轨迹回放 附完整代码
Vue使用地图以及实现轨迹回放 附完整代码
Vue使用地图以及实现轨迹回放 附完整代码
|
3天前
|
JavaScript
Vue中避免滥用this去读取data中数据
Vue中避免滥用this去读取data中数据
|
3天前
|
JavaScript
vue中使用pinia及持久化
vue中使用pinia及持久化
6 0
|
10月前
|
JavaScript 前端开发 UED
如何在 Vue 自定义组件中正确使用 v-model 进行数据的双向绑定?
如何在 Vue 自定义组件中正确使用 v-model 进行数据的双向绑定?
173 0
|
11月前
|
JavaScript 前端开发 算法
web前端面试高频考点——Vue组件间的通信及高级特性(多种组件间的通信、自定义v-model、nextTick、插槽)
web前端面试高频考点——Vue组件间的通信及高级特性(多种组件间的通信、自定义v-model、nextTick、插槽)
112 0
|
JavaScript
Vue:自定义v-model数据双向绑定
Vue:自定义v-model数据双向绑定
107 0
Vue:自定义v-model数据双向绑定