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只能用于输入类元素(表单类元素)中。