首页 > 其他分享 >vue双向绑定和双向修改写法总结

vue双向绑定和双向修改写法总结

时间:2023-02-28 17:25:59浏览次数:50  
标签:vue title 绑定 value 双向 model 简写

2.x 双向绑定

//使用value和input老式写法
<ChildComponent v-model="pageTitle" />
//是以下的简写
<ChildComponent :value="pageTitle" @input="pageTitle = $event" />

//不使用value和input的写法,title代替value,change代替input
<ChildComponent v-model="pageTitle" />
//是以下的简写
<ChildComponent :title="pageTitle" @change="pageTitle = $event" />

export default {
  model: {
    prop: 'title',
    event: 'change'
  },
  props: {
    // 这将允许 `value` 属性用于其他用途
    value: String,
    // 使用 `title` 代替 `value` 作为 model 的 prop
    title: {
      type: String,
      default: 'Default title'
    }
  }
}

2.x sync双向修改

<ChildComponent :title.sync="pageTitle" />
//是以下的简写
<ChildComponent :title="pageTitle" @update:title="pageTitle = $event" />

//组件内部使用update:title事件更新prop的值
this.$emit('update:title', newValue)

3.x 双向绑定

//3.x的双向绑定使用modelValue和@update:modelValue,不再使用value和input
<ChildComponent v-model="pageTitle" />
//是以下的简写
<ChildComponent :modelValue="pageTitle" @update:modelValue="pageTitle = $event" />


//3.x的v-model可以代替.sync写法,指定属性
<ChildComponent v-model:title="pageTitle" />
//是以下的简写
<ChildComponent :title="pageTitle" @update:title="pageTitle = $event" />


//3.x的v-model可以对多个属性进行双向绑定
<ChildComponent v-model:title="pageTitle" v-model:content="pageContent" />
//是以下的简写
<ChildComponent
  :title="pageTitle"
  @update:title="pageTitle = $event"
  :content="pageContent"
  @update:content="pageContent = $event"
/>

 

出处:浅谈 Vue3 中的 v-model 和 sync 修饰符 

标签:vue,title,绑定,value,双向,model,简写
From: https://www.cnblogs.com/mengff/p/17165170.html

相关文章

  • Vue基础
    一、Vue的介绍与描述Vue(读音/vjuː/,类似于view)是一套用于构建用户界面的渐进式框架;与其它大型框架不同的是,Vue被设计为可以自底向上逐层应用;Vue的核心库只关注视......
  • vue3 路由
      vue2在2023年12月份开始停止维护,说实话,很苦逼,很多人根本还停留在vue2思想的时代,包括我自己 。之前一直在写vue的服务端渲染,好长时间已经忘了vue-router创......
  • VUE2 自定义指令
    简写方式(有弊端)<h2>{{name}}</h2><h2>当前的n值是:{{n}}</h2><h2v-big="n">放大10倍后的n值是:{{n}}</h2><button@click="n++"></button>data(){return{......
  • Vue项目中通过 avatarUrl: require('@/assets/user-avatar.png')出现required is not
    参考:https://blog.csdn.net/qq_37130872/article/details/128133646useImages.js//获取assets静态图片exportconstgetAssetsImge=(name)=>{returnne......
  • 路飞-前端vue准备工作
    目录前端全局样式清除全局js变量配置axios全局使用/cookies全局使用安装elementui前端全局样式清除创建vue脚手架搭建项目,VUE2版本在src---assets文件夹下创建css文件夹......
  • 【django-vue】前端取消默认样式 main.js配置 后端主页模块接口 跨域问题详解 项目自
    目录回顾上节课回顾今日内容1前端全局样式和js配置1.1global.css1.2settings.js1.3main.js2后端主页模块接口三种开发模式模型父类BaseModel轮播图模型类代码轮播图接......
  • Vue3 状态管理之pinia
    什么是Pinia在vue3之前我们最常用的状态管理就是Vuex,当然在vue3中也有相对应的Vuex的版本。但是还是推荐使用Pinia,原因有以下几点:语法简单,mutations不再存在。无......
  • 拥抱下一代前端工具链-Vue老项目迁移Vite探索
    作者:京东物流邓道远背景描述随着项目的不断维护,代码越来越多,项目越来越大。调试代码的过程就变得极其痛苦,等待项目启动的时间也越来越长,尤其是需要处理紧急问题的时候,切换......
  • vue3+openlayes实现离线地图加载
    概述OpenLayers使在任何网页中放置动态地图变得容易。它可以显示从任何来源加载的地图图块、矢量数据和标记。OpenLayers的开发旨在进一步使用各种地理信息。它是完全免......
  • 【必看】RuoYiVuek框架-数据源动态新增、配置如此简单!
    应用场景系统用户只能访问系统配置的数据源(可动态新增修改的)RuoYiVue框架源码点我跳转实现方式1.系统提供Yml文件配置+Druid加载数据源+@DataSource注解+D......