MVP模式与MVVM模式
1、mvp模式(Model层 Presenter层 View 层)
Model层 :数据层(ajax请求)
Presenter层:呈现层,view逻辑相关的控制层,控制层可以去调Model去发ajax请求。----mvp模式中最主要的部分
View层:视图层,页面上的DOM展示
(JQuery 的编写就属于mvp模式)

<div>
<input type="text" id="input"/>
<button id="btn">提交</button>
<ul id="list">
</ul>
</div>
<script>
function Page() {}
$.extend(Page.prototype,{
init:function () {
this.bindEvents()
},
bindEvents:function () {
var btn=$('#btn');
btn.on('click',$.proxy(this.handleBtnClick,this));
},
handleBtnClick:function () {
var input=$("#input");
var inputValue=input.val();
var ulElemt= $("#list");
ulElemt.append('<li>'+inputValue+'</li>');
input.val("");
}
});
var page=new Page();
page.init();
</script>
2、mvvm模式(Model View ViewModel)---面向数据的编程
M层:主要是数据层(主要层级)
V层:DOM视图层
VM层:vue就属于VM层

<div id="app">
<input type="text" v-model="inputValue"/>
<button v-on:click="handleBtnClick">提交</button>
<ul>
<li v-for="item in list">{{item}}</li>
</ul>
</div>
<script>
var app=new Vue({
el:'#app',
data:{
list:[],
inputValue:''
},
methods:{
handleBtnClick:function () {this.list.push(app.$data.inputValue) ;
this.inputValue="";
}
}
});
</script>
运行结果:

MVP模式与MVVM模式的更多相关文章
- MVP模式和MVVM模式
MVP模式 模型-视图-表示器,也就是MVP模式.是mvc模式的一种衍生模式,专注于改进表示逻辑. 与MVC不同,来自view的调用将委托给presenter(表示器),表示器通过接口与view对话. ...
- 对MVC模式与MVVM模式的认识
MVC模式与MVVM模式目的一样,主要是分离模型(model)和视图(view),具体介绍如下. 名词介绍 MVC模式:指的是模型(Model)-- 视图(View)-- 控制器(Controller ...
- 浅谈MVC模式与MVVM模式的区别
MVC模式: M:Model(数据模型),用于存放数据 V:View(视图),也就是用户界面 C:Controller是Model和View的协调者,Controller把Model中的数据拿过来给V ...
- MVC模式 和 MVVM模式
MVC模式 模型 - 视图 - 控制器或MVC,MVC是普遍的叫法,是一种软件设计模式,用于开发Web应用程序.模型- 视图 - 控制器模式是由以下三部分组成: 模型/Model - 一个负责维护数据 ...
- MVC模式和MVVM模式简单理解
相信这是两个耳熟能详的词了,MVC广泛的用到了java的各种框架当中,比如Struts2, SpringMVC等,作为B/S架构开发,MVS模式也是我们必须掌握的. mvc一步一步演化之后有了现在的M ...
- Android mvp模式、mvvm模式
MVC和MVP的区别2007年08月08日 星期三 上午 09:23 MVC和MVP到底有什么区别呢? 从这幅图可以看到,我们可以看到在MVC里,View是可以直接访问Model的!从而,View里会 ...
- [vue]mvc模式和mvvm模式及vue学习思路(废弃)
好久不写东西了,感觉收生疏了, 学习使用以思路为主, 记录笔记为辅作用. v-if: http://www.cnblogs.com/iiiiiher/p/9025532.html v-show tem ...
- MVC、MVP、MVVM模式的概念与区别
1. MVC框架 MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示 ...
- MVVM模式的几个开源框架
原文:MVVM模式的几个开源框架 实现MVVM的框架有很多,如: • MVVM Light Toolkit: http://mvvmlight.codeplex.com • Microsoft Pri ...
随机推荐
- onCreateOptionsMenu
onCreateOptionsMenu----只在Activity创建时调用一次!之后不会再被调用! onPrepareOptionsMenu----每次display menu之前,都會调用该方法, ...
- linux下mysql-5.5.27.tar.gz源程序包安装实例
研究了好几天,终于把mysql装上了,现在来做下小结. 系统环境:fedora8 虚拟机. 1.检查安装使用的编译工具gcc是否存在,如果不存在则要下载安装 # gcc -v 2.卸载低版本的mysq ...
- pat1034. Head of a Gang (30)
1034. Head of a Gang (30) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue One wa ...
- Python3基础(1)Python介绍、Python2 与Python3、变量、用户输入、if...else和for循环、while循环、break与continue
---------------个人学习笔记--------------- ----------------本文作者吴疆-------------- ------点击此处链接至博客园原文------ P ...
- 汇编语言版本的HelloWorld
平台 macOS 工具 nasm clang 文件 main.asm extern _printf ; 这里调用系统的一个系统调用函数, _printf, 使用extern告诉链接器该label在其他 ...
- SpringBoot | 第二十五章:日志管理之自定义Appender
前言 前面两章节我们介绍了一些日志框架的常见配置及使用实践.一般上,在开发过程中,像log4j2.logback日志框架都提供了很多Appender,基本上可以满足大部分的业务需求了.但在一些特殊需求 ...
- 让zepto支持requirejs的方法
window.Zepto = Zepto '$' in window || (window.$ = Zepto) if ( typeof define === "function" ...
- Linux Mint下的conky配置
最近闲来无事,想把自己的Linux Mint弄的再炫酷点,在桌面上显示一些信息,因为我已经装了Cairo-dock,现在就差这个了,下面简单说下整个流程,首先你得安装conky, sudo apt-g ...
- hibernate课程 初探单表映射1-11 通过hibernate API访问编写第一个小例子
hibernate 业务流程 1 创建配置对象 Configuration config = new Configuration().configure(); 2 创建服务注册对象 Service ...
- 《Head First 设计模式》之策略模式——鸭子行为
策略模式(Strategy Pattern) ——定义了算法族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户. (每个功能的多种实现成为一个算法族,这些算法族被分别封装 ...