v-model的底层原理

基本使用

通过v-model可以实现数据的双向绑定,实现vue.js变量和表单标签的value 属性

为什么使用v-model?
v-model是语法糖作为双向绑定指令也是vue两大核心功能之一,使用非常方便,提高
前端开发效率。在view层,model层相互需要数据交互,即可使用v-model。

注意: v-model一般情况用于表单元素中(不是一定的)

v-model就是一个语法糖,

<input :value=“msg” @input=“msg=$event.target.value” />
的简写模式

v-model 实现双向绑定的本质
它背后的本质其实是两个指令的结合:

(1)v-bind 绑定一个 value 值。

v-bind 能实现数据的单向绑定,从 Model 层自动绑定到 View 层,但是无法实现数据的双向绑定。

(2)v-on 给当前元素绑定 input 事件。

v-on:input 是一个动态监听用户在表单中输入数据的事件,它的属性值可以是一个方法

v-model 指令修饰符
关于 v-model 指令的修饰符有:.lazy、.number、.trim。它们主要是给 v-model 指令起到一个辅助作用。

<template>
  <div class="test-model">
    <p>这里是input输入框输入时响应的文本</p>
    <input
      type="text"
      placeholder="这是input输入框"
      :value="testMessage"
      @input="emitInput"
    />
  </div>
</template>

<script>
export default {
  data () {
    return {
      testMessage: "",
    };
  },
  methods: {
    emitInput ($event) {
      this.testMessage = $event.target.value;
    },
  },
};
</script>
<style  scoped>
.test-model p{
font-size: 20px;
margin: 20px;
}
input{
font-size: 20px;
margin: 20px;
}
</style>

在这里插入图片描述


版权声明:本文为weixin_72953424原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。