v-model和:model的区别

场景:在使用el-form时,form上面使用的是:model;而在表单里面的el-input使用的是v-model。那么这两者有什么区别呢?

html 复制代码
<el-form :inline="true" :model="formInline" class="demo-form-inline">
  <el-form-item label="姓名">
    <el-input v-model="formInline.user" placeholder="请输入"></el-input>
  </el-form-item>
</el-form>

概念:

1)v-model是vue.js中内置的双向数据绑定指令,用于表单控件以外的标签是不起作用的 (即只对表单控件标签的数据双向绑定有效)。

2) :model相当于v-bind:model的缩写,v-bind动态绑定指令,默认情况下标签自带属性的值是固定的,这种只是将父组件的数据传递到了子组件,并没有实现子组件和父组件数据的双向绑定。当然引用类型除外,子组件改变引用类型的数据的话,父组件也会改变的。

区别:el-input 是一个输入控件,需要真实地绑定、处理数据,而 el-form 组件只是用来管理、校验规则等,所以只需要单向绑定。

附注:v-model 在内部为不同的输入元素使用不同的属性并抛出不同的事件;

1)text 和 textarea 元素使用 value 属性和 input 事件;

2)checkbox 和 radio 使用 checked 属性和 change 事件;

3)select 字段将 value 作为 prop 并将 change 作为事件。

相关推荐
talenteddriver几秒前
web: http请求(自用总结)
前端·网络协议·http
全栈派森4 分钟前
Flutter 实战:基于 GetX + Obx 的企业级架构设计指南
前端·flutter
支撑前端荣耀16 分钟前
从零实现前端监控告警系统:SMTP + Node.js + 个人邮箱 完整免费方案
前端·javascript·面试
进击的野人16 分钟前
Vue.js 插槽机制深度解析:从基础使用到高级应用
前端·vue.js·前端框架
重铸码农荣光20 分钟前
🎯 从零搭建一个 React Todo 应用:父子通信、状态管理与本地持久化全解析!
前端·react.js·架构
用户40993225021220 分钟前
Vue3 v-if与v-show:销毁还是隐藏,如何抉择?
前端·vue.js·后端
Mr_chiu20 分钟前
🚀 效率暴增!Vue.js开发必知的15个神级提效工具
前端
JimmyWhat21 分钟前
Vue单页应用路由404问题:服务器配置与Hash模式解决方案
vue.js
shanLion21 分钟前
Vite项目中process报红问题的深层原因与解决方案
前端·javascript
烟袅23 分钟前
从零构建一个待办事项应用:一次关于组件化与状态管理的深度思考
前端·javascript·react.js