02-Vue单向数据绑定与双向数据绑定
2020-10-26 本文已影响0人
极客江南
MVVM设计模式
- 在MVVM设计模式中由3个部分组成
M : Model
数据模型(保存数据, 处理数据业务逻辑)
V : View
视图(展示数据, 与用户交互)
VM: View Model
数据模型和视图的桥梁(M是中国人, V是美国人, VM就是翻译)
Vue中MVVM的划分
- Vue其实是基于
MVVM
设计模式的
被控制的区域:View
Vue实例对象 :View Model
实例对象中的data: Model
Vue调试工具安装
-
如果你能打开谷歌插件商店, 直接在线安装即可
https://chrome.google.com/webstore/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd?hl=zh-CN -
由于国内无法打开谷歌国外插件商店, 所以可以离线安装
https://www.chromefor.com/vue-js-devtools_v5-3-0/ -
安装步骤
1下载离线安装包
2 打开谷歌插件界面
3 直接将插件拖入
4 报错 程序包无效: "CRX_HEADER_INVALID"
可以将安装包修改为rar后缀, 解压之后再安装
5 重启浏览器
Vue中数据的单向传递
- 我们把"数据"交给"Vue实例对象", "Vue实例对象"将数据交给"界面"
Model -> View Model
<!--这里就是MVVM中的View-->
<div id="app">
<p>{{ name }}</p>
</div>
<script>
// 这里就是MVVM中的View Model
let vue = new Vue({
el: '#app',
// 这里就是MVVM中的Model
data: {
name: "李南江"
}
});
</script>
Vue中数据的双向传递
-
默认情况下
Vue
只支持数据单向传递 M -> VM -> V
但是由于Vue是基于MVVM设计模式的, 所以也提供了双向传递的能力
在<input>
、<textarea>
及<select>
元素上可以用 v-model 指令创建双向数据绑定 -
注意点: v-model 会忽略所有表单元素的
value
、checked
、selected
特性的初始值
而总是将 Vue 实例的数据作为数据来源
<!--这里就是MVVM中的View-->
<div id="app">
<p>{{ name }}</p>
<input type="text" v-model="msg">
</div>
<script>
// 这里就是MVVM中的View Model
let vue = new Vue({
el: '#app',
// 这里就是MVVM中的Model
data: {
name: "李南江",
msg: "全栈小秘圈"
}
});
</script>