vue中的MVVM模型
文章类型:Vue
发布者:admin
发布时间:2023-03-25
一:目的
借鉴后端思想,职责划分、分层(将Model层、View层进行分类)
二:分类
1:MVC=>传统模式Backbone + underscore + jquery,用户操作会请求服务端路由,路由会调用对应的控制器获取数据。将结果返回进行页面重新渲染
2:MVVM=>Model-View-ViewModel缩写,Controller演变成ViewModel,
会自动将数据渲染到页面中,视图变化会通知 viewModel层 更新数据。ViewModel 就是桥梁
Model层=>代表数据模型,定义数据修改和操作的业务逻辑。仅仅关注数据本身
View=>代表UI组件,用户操作界面。当ViewModel对Model进行更新的时候,会通过数据绑定更新到View
ViewModel=> 业务逻辑层,View需要什么数据,ViewModel要提供这个数据;View有某些操作,ViewModel就要响应这些操作
三:总结
MVVM模式简化了界面与业务的依赖,解决了数据频繁更新。利用双向绑定技术, Model 变化时,ViewModel 会自动更新,而 ViewModel 变化时,View 也会自动变化
四:图解
1:mvc模式
2:mvvm模式
五:代码实现
<div id="app">
<p>{{message}}</p>
<button v-on:click="showMessage()">Click me</button>
</div>
var app = new Vue({
el: '#app',
data: { // 用于描述视图状态
message: 'Hello Vue!', // Model 层
},
// ViewModel 层:通过事件修改model层数据
methods: { // 用于描述视图行为
showMessage(){
let vm = this;
alert(vm.message);
}
},
created(){
let vm = this;
// Ajax 获取 Model 层的数据
ajax({
url: '/your/server/data/api',
success(res){
vm.message = res;
}
});
}
})