0.前言

vue中的数据绑定分为单向数据绑定和双向数据绑定。

单向数据绑定指的是data中的数据可以改变页面的数据,而页面数据的改变不能影响data中的数据。

双向数据绑定指的是可以互相影响。

1.单向数据绑定
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>vue测试</title>
    <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
</head>
<body>
    <!-- 制作一个容器 -->
    <div id="first">
        <div>
            单向数据绑定:
            <input type="text" v-bind:value="msg">
        </div>
    </div>
    <script type="text/javascript">
        new Vue({
            el:'#first',
            data:{
                msg:"world",
            }
        })
    </script>
</body>
</html>

单向绑定用的是v-bind。这种绑定方式只允许用户修改data中的数值从而影响input中的value。而不能反过来使用。

2.双向绑定
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>vue测试</title>
    <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
</head>
<body>
    <!-- 制作一个容器 -->
    <div id="first">
        <div>
            双向向数据绑定:
            <input type="text" v-model:value="msg">
        </div>
    </div>
    <script type="text/javascript">
        new Vue({
            el:'#first',
            data:{
                msg:"world",
            }
        })
    </script>
</body>
</html>

双向数据绑定用的是v-model,在页面上改变值,data中的值会同步改变。

4.注意

v-model只能用于输入类元素(表单类元素)中。