欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Vue系列教程(七)v-model和双向数据绑定

程序员文章站 2022-03-16 13:16:21
...

v-model是Vue中实现双向数据绑定的指令。
看下面的代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>v-model指令的学习</title>
</head>
<body>
<div id="app">
    <h4>{{ msg }}</h4>
</div>
<script src="lib/vue.js"></script>
<script>
    var vm = new Vue({
        el: '#app',
        data: {
            msg: '双向数据绑定'
        },
        methods: {}
    })
</script>
</body>
</html>

上面的vm实例是在浏览器内存中创建的,创建完成后,可以通过window.vm访问到这个实例:
Vue系列教程(七)v-model和双向数据绑定
打开这个对象,可以找到msg对象:
Vue系列教程(七)v-model和双向数据绑定
也就是说在data上定义的属性会自动挂载到vm对象上,所以我们可以用this.msg可以访问到data上的属性。

下面我们通过浏览器控制台修改msg的值:
Vue系列教程(七)v-model和双向数据绑定
我们发现页面上的值也自动改变了,这还不算双向数据绑定,这个是单向数据绑定。为了实现双向数据绑定,我们添加一个表单元素,代码如下:

<!DOCTYPE html>
<html lang="en" xmlns:v-model="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="UTF-8">
    <title>v-model指令的学习</title>
</head>
<body>
<div id="app">
    <h4>{{ msg }}</h4>
    <input type="text" v-model="msg" style="width: 100%">
</div>
<script src="lib/vue.js"></script>
<script>
    var vm = new Vue({
        el: '#app',
        data: {
            msg: '双向数据绑定'
        },
        methods: {}
    })
</script>
</body>
</html>

页面如下:
Vue系列教程(七)v-model和双向数据绑定
改变文本框(View)中的值也会改变控制台(Model)中的值,改变控制台(Model)中的值也会改变文本框(View)中的值:
Vue系列教程(七)v-model和双向数据绑定
所以我们使用v-model实现了双向数据绑定

注意:

  • v-model只能运用在表单元素中
  • v-bind不能实现双向数据绑定,只能实现单向数据绑定

推荐阅读:
Vue系列教程(一)基础介绍
Vue系列教程(二)v-cloak、v-text、v-html的基本使用
Vue系列教程(三)v-bind指令
Vue系列教程(四)v-on指令定义事件
Vue系列教程(五)跑马灯效果案例
Vue系列教程(六)事件修饰符
Vue系列教程(七)v-model和双向数据绑定

相关标签: vue.js vue