v-model的理解与使用

v-model的学习

步骤:
1、了解v-model的本质
2、了解v-model的使用方法

v-model的本质

如下代码<input v-model="test">,本质上是<input :value="test" @input="test = $event.target.value">,其中@input是对输入事件的一个监听:value="test"是将监听事件中的数据放入到input,并且,v-model不仅可以给input赋值还可以获取input中的数据,而且数据的获取是实时的,因为语法糖中是用@input对输入框进行监听的。可以在如下div中加入<p>{{ test }}</p>获取input数据,然后去修改input中数据会发现<p></p>中数据随之改变,即v-model可以用于在表单控件或者在组件上创建双向绑定。

<div id="app">
  <input v-model="test">
  <!-- <input :value="test" @input="test= $event.target.value">--> <!--语法糖-->
</div>
<script>
  new Vue({
    el: '#app',
    data: {
      test: '这是一个测试'
    }
  });
</script>

v-model的使用方法

第一步:在页面引入vue
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.11"></script>
第二步:表单控件上使用v-model

如下面代码,分别是v-model在input不同的组件中的应用,但是大体用法相同。注意:像下面代码中复选框这样需要接收多条数据的情况下,在data里面应该由数组与其对应二不是字符串。

<!--下拉框-->
<div id="app">
  <select v-model="selected">
    <option value="A">A</option>
    <option value="B">B</option>
    <option value="C">C</option>
  </select>
  <span>Selected: {{ selected }}</span>
</div>
<script>
  new Vue({
    el: '#app',
    data: {
      selected: ''
    }
  })
</script>
<!--单选按钮-->
<div id="app">
  <input type="radio" id="A" value="AAAA" v-model="picked">
  <label for="A">A</label>
  <br>
  <input type="radio" id="B" value="BBBB" v-model="picked">
  <label for="B">B</label>
  <br>
  <span>Picked: {{ picked }}</span>
</div>
<script>
  new Vue({
    el: '#app',
    data: {
      picked: ''
    }
  })
</script>
<!--复选框-->
<div id="app">
  <input type="checkbox" id="one" value="A" v-model.lazy="checkedNames">
  <label for="one">选项一</label>
  <input type="checkbox" id="two" value="B" v-model.lazy="checkedNames">
  <label for="two">选项二</label>
  <input type="checkbox" id="three" value="C" v-model.lazy="checkedNames">
  <label for="three">选项三</label>
  <br>
  <span>Checked: {{ checkedNames }}</span>
</div>
<script>
new Vue({
    el: '#app',
    data: {
    checkedNames: []
    }
})
第三步(可选项):v-model的修饰符使用

v-model也可以和.lazy、.trim、.number、.stop这些修饰符一起使用

<!-- 在每次 input 事件触发后将输入框的值与数据进行同步,添加 lazy 修饰符,从而转变为使用 change 事件
进行同步 -->
<input v-model.lazy="msg" >
<!--去除字符串首尾的空格-->
<input v-model.trim="msg">
<!--将数据转化为值类型-->
<input v-model.number="age" type="number">
<!--阻止冒泡-->
<input v-model.stop="op" type="text">

总结

以上便是我总结出来的vue中v-model的理解与使用,v-model是学习vue过程中的一个基础的知识点,虽然用法很简单,但是它的原理和修饰符扩展却也需要我们牢记。在学习过程中,我们也始终要保持一个谦虚的态度,即便已经学有所成,也要对以前学过的知识不断复习,已达到温故知新的效果。学习,是一个有苦到甜的过程,就如在逆战班中学习的时候,虽然初学vue时很是艰苦,但是当一个个知识点被自己理解透彻时,那种成功的喜悦却是发自内心的。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值