Vue.js v-model双向绑定

2021/4/4 Vue

# 双向绑定

# v-model

      <input type="text"  v-model="message">
      <h2>{{message}}</h2>
1
2

# 双向绑定的原理

通过监听input事件,拿到event.target.value,更新message的值。

  <input type="text"  :value="message" @input="inputChange">
  <h2>{{message}}</h2>
1
2
  methods:{
          inputChange(event){
            this.message = event.target.value
          }
        }
1
2
3
4
5

# v-model绑定其他表单

<div id='box'>
	<input type="checkbox" v-model="checkgroup" value="vue"/>vue
	<input type="checkbox" v-model="checkgroup" value="react"/>react
	<input type="checkbox" v-model="checkgroup" value="jquery"/>jquery
</div>
1
2
3
4
5
new Vue({
    el:'#box',
    data:{
        checkgroup:[];
    }
})
1
2
3
4
5
6

# v-model修饰符

  1. lazy

取代 input 监听 change 事件

<div id='box'>
    <input v-model.lazy='mytext'>
    <!-- 这里的mytext不会实时修改而是在input失去焦点的时候才会修改-->
    {{mytext}} 
</div>
1
2
3
4
5
  1. number

输入字符串转为有效的数字

<input type="number" v-model.number="mynumber"/>
{{mynumber}}
1
2
  1. trim

输入首尾空格过滤

<input type="text" v-model.trim="myusername"/>
|{{myusername}}|  
1
2
Last Updated: 2022/12/12下午11:51:23