全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

vue-model怎么操作

发布时间:2023-08-10 18:13:00
发布人:xqq

  Vue 框架早已经不是 MVVM(Mode-View-View-Model) 双向绑定了。早在 Vue 1.0 时代,Vue 在刚出世的时候的确是 MVVM 双向绑定。自 Vue 2.0 以来,Vue 就不再是双向绑定了,而是像 React 一样是单向绑定 MV(Model-View)了。但是,在 Vue 中仍保留了双向绑定的接口,v-model 就是。

1.基本用法

<template>
<div id="app">
<input v-model="x">
{{x}}
</div>
</template>

<script>
export default {
data(){
return {
x: 'init'
}
}
}

   在 JS 中修改 x 的值,input 输入框里也会随之改变。同样地,在页面中的 input 输入框内手动输入值,变量 x 的值也会随之改变。对象里的变量改变会影响视图的 input 的改变,视图中 input 的改变会影响对象里变量 x 值的改变。这就是双向绑定(Model-View-View-Model)。

  实质上述使用 v-model 的代码等价于如下代码:

<template>
<div id="app">
<input :value="x" @input="x = $event.target.value">
{{x}}
</div>
</template>

<script>
export default {
data(){
return {
x: 'init'
}
}
}
</script>

 

  v-model 帮我们做的事就是,为 input 的 value 值设置一个动态绑定,然后在输入框的 input 事件触发后实时修改动态绑定的 value 的变量值。因此 v-model 实质是上述方式的语法糖。

  $event 是原生 DOM 事件里的 event 事件对象。

  3. v-model 的修饰符

  所有修饰符都是起一个辅助的作用,其实可以在函数里自己判断条件实现。.lazyv-model 默认监听的是输入框的input 事件,原生 DOM 的input 事件就是记录实时的输入变化值。但是,我们有时不需要实时记录结果,只需要记录最终输入的结果值就可以了。

  input 的原生 DOM 事件中还有一个change 事件,该事件是在输入框失去焦点时 或 按下回车键时 执行的。v-model 里以.lazy 修饰符的方式切换至该监听模式。

<template>
<div id="app">
<input v-model.lazy="x">
{{x}}
</div>
</template>等价于:<template>
<div id="app">
<input :value="x" @change="x = $event.target.value">
{{x}}
</div>
</template>

 

  number.number修饰符是在输入内容改变后进行变量赋值时,自动使用 parseFloat() 函数将其变成数字。使用该修饰符时变量的初始值必须是数字。


#vue-model

相关文章

win系统是什么意思?

win系统是什么意思?

2023-10-16
linux文件重命名命令是什么?

linux文件重命名命令是什么?

2023-10-16
tenda初始密码八位数是什么?

tenda初始密码八位数是什么?

2023-10-16
chrome是什么意思?

chrome是什么意思?

2023-10-16

最新文章

常见网络安全面试题:Windows常用的命令有哪些?

常见网络安全面试题:Windows常用的命令有哪些?

2023-10-09
常见网络安全面试题:根据设备告警如何展开排查?

常见网络安全面试题:根据设备告警如何展开排查?

2023-10-09
常见网络安全面试题:mysql加固呢?(数据库加固)

常见网络安全面试题:mysql加固呢?(数据库加固)

2023-10-09
常见网络安全面试题:windows和linux加固?(操作系统加固)

常见网络安全面试题:windows和linux加固?(操作系统加固)

2023-10-09
在线咨询 免费试学 教程领取