四,表单的双向绑定

2022-10-06  本文已影响0人  扶光_

     首先先理解什么是数据的双向绑定,所谓数据的双向绑定就是,数据的修改可以改变页面,而页面上修改也可以改变后端的数据。这就是数据的双向绑定
举例:

<input type="text" :value="num">
  <button @click="fn">单击+1</button>
 return{
              num:0
            }
        },
        //放置各种功能函数
        methods:{
         fn(){
            this.num ++;
         }
        }
4.gif

从上面的样例可以看到当我们修改input的值时,在单击按钮还是在之前的数据上+1,而不是input输入的值+1,这就是数据对页面的单向绑定

v-model 表单数据双向绑定

<input type="text" :v-model="num">
  <button @click="fn">单击+1</button>

 data(){
            return{
              num:0
            }
        },
        //放置各种功能函数
        methods:{
         fn(){
            this.num ++;
         }

这样就实现了表单双向绑定,既绑定了value的值,又监听input的事件

v-model仅限于
<input> 多选框需要用数组的形式
<select>
<textarea>
components

修饰符

.lazy

在默认情况下,v-model 在每次 input 事件触发后将输入框的值与数据进行同步 (除了上述 (opens new window)输入法组合文字时)。你可以添加 lazy 修饰符,从而转为在 change 事件之后进行同步:

<!-- 在“change”时而非“input”时更新 -->
<input v-model.lazy="msg">

.number

如果想自动将用户的输入值转为数值类型,可以给 v-model 添加 number 修饰符:

<input v-model.number="age" type="number">

这通常很有用,因为即使在 type="number" 时,HTML 输入元素的值也总会返回字符串。如果这个值无法被 parseFloat() 解析,则会返回原始的值。

.trim

如果要自动过滤用户输入的首尾空白字符,可以给 v-model 添加 trim 修饰符:

<input v-model.trim="msg">
上一篇下一篇

猜你喜欢

热点阅读