Vue随性小笔记
1 前端MVC 和 后端MVC不同:

可以看出前端MVC其实为了解决前端复杂js模块化的问题,从后端MVC的V分离出来的
2 MVC / MVP / MVVM 三者区别
| Model | View | M与V联系的方式 |
| Controller | ||
| Presenter | ||
| ViewModel |
可以清楚看出三者模块的区别在于M与V之间的联系:
Controller: 负责监听View的用户事件,得到的数据后Controller处理。然后渲染View。(缺点:Model或者Controller和View耦合一起 的,没有办法单独验证应用逻辑的正确性)
Presenter: 比起Controller,presenter会调用View层提供的接口去渲染Model。(这样做的好处:面向接口编程,更好的耦合,方便做 单元测试)(缺点:如果程序复杂,需要提供很多的接口)
ViewModel:是自己提供API,MVVM在VM中构建一组状态数据(state data),作为View状态的抽象。然后通过双向数据的绑定,是VM中状 态数据(state data)与View(screen state)保持一致。这样在VM的逻辑只需要修改对应的状态的数据,就可以控制View
3 Vue.js的概念:
它是以数据驱动和组件化的思想构建的。优势:比angular.js提供更加简洁,更加易于理解的API。
4 当创建了viewMode后双向绑定是如何达成呢:
DOM Listeners 和 Data Bindings看作两个工具,他们是实现双向绑定的关键。 从View 侧看,View Model 中View Listeners工具会帮助我们检测页面上DOM元素的变化。如果有变化,则更改Model的数据。从MOdel这一侧看,当我们更新数据时,Data Bindings 工具会帮助我们更新页面中的DOM的元素。
5 定义MVVM各个组成部分过程的过程
1.定义View 2.定义Model 3.创建一个Vue实例或ViewModel,它用于连接View和Model
6 Vue.js常用的指令
v-if v-show v-else v-for v-bind v-on v-model
Vue随性小笔记的更多相关文章
- vue生命周期小笔记
一张图谨记vue每个生命周期的获取状态 beforecreate :可以在这加个loading事件 created :在这结束loading,还做一些初始化,实现函数自执行 mounted : 在这发 ...
- 学了这么久,vue和微信小程序到底有什么样的区别?
前言 写了vue项目和小程序,发现二者有许多相同之处,在此想总结一下二者的共同点和区别.相比之下,小程序的钩子函数要简单得多. 一.生命周期 先贴两张图: vue生命周期 小程序生命周期 相比之下 ...
- 转:【iOS开发每日小笔记(十一)】iOS8更新留下的“坑” NSAttributedString设置下划线 NSUnderlineStyleAttributeName 属性必须为NSNumber
http://www.bubuko.com/infodetail-382485.html 标签:des class style 代码 html 使用 问题 文件 数据 ...
- 小笔记:Timer定时间隔时间操作
小笔记:Timer定时间隔时间操作,后面有时间再补充和完善: public class TimingSvc { /// <summary> /// 定时器,执行定时任务 /// </ ...
- 关于 linux中TCP数据包(SKB)序列号的小笔记
关于 SKB序列号的小笔记 为了修改TCP协议,现在遇到了要改动tcp分组的序列号,但是只是在tcp_sendmsg函数中找到了SKB的end_seq 一直没有找到seq 不清楚在那里初始化了,就 ...
- vue项目向小程序迁移调研
概述 今天调研了一下vue项目怎么向小程序迁移,有些心得,记录下来,供以后开发时参考,相信对其他人也有用. 基本上vue项目向小程序迁移不外乎2种方法,一种是用小程序的web-view组件,另一种是用 ...
- vue 开发微信小程序
介绍 mpvue (github 地址请参见)是一个使用 Vue.js 开发小程序的前端框架.框架基于 Vue.js 核心,mpvue 修改了 Vue.js的 runtime 和 compiler 实 ...
- Linux下postgres9.4 版本的单机版安装小笔记
1.添加RPMyum install https://download.postgresql.org/pub/repos/yum/9.4/redhat/rhel-7-x86_64/pgdg-redha ...
- vue和微信小程序的区别、比较
链接:https://segmentfault.com/a/1190000015684864 一.生命周期 先贴两张图: vue生命周期 小程序生命周期 相比之下,小程序的钩子函数要简单得多. vue ...
随机推荐
- Zabbix日常监控之lvs监控
参考博文:http://blog.51cto.com/kaibinyuan/1711863 监控环境的搭建请参考:https://www.cnblogs.com/huangyanqi/p/918780 ...
- September 24th 2017 Week 39th Sunday
To live is the rarest thing in the world. Most people exist. That is all. 生活是世间最罕见的事情:生存,却是世间最常见的事情: ...
- Civil War
Civil War 编辑 <Civil War>是美国硬摇滚乐队枪炮与玫瑰的一首单曲,首次收录于1990年的群星慈善专辑<Nobody's Child: Romanian Angel ...
- Extjs tree 过滤查询功能
转载: http://blog.csdn.net/xiaobai51509660/article/details/36011899 Extjs4.2中,对于treeStore中未实现filterBy函 ...
- wk_06.md
IO与文件操作 文件内建函数open 内建函数open提供了初始化输入/输出(I/O)操作的通用接口.open()内建函数成功打开文件后会返回一个文件对象.open函数的语法如下: open(file ...
- 4-4 R语言函数 tapply
#对向量的子集进行操作 #tapply(参数):tapply(向量,因子/因子列表,函数/函数名) > x <- c(rnorm(5),runif(5),rnorm(5,1)) > ...
- 使用yii的layout,加入<?php echo $content; ?>这句话时,它会自动在子页面上面添加一个div包裹
使用yii的layout,加入<?php echo $content; ?>这句话时,它会自动在子页面上面添加一个div包裹,而且div的id命名为id=content,这个和已有id重复 ...
- Sequelize-nodejs-1-getting started
Sequelize is a promise-based ORM for Node.js v4 and up. It supports the dialects PostgreSQL, MySQL, ...
- Docker实战(八)之Web服务与应用
1.Apache 官方提供了名为httpd的Apache镜像,可以作为基础web服务镜像 Dockerfile(安装apache2) FROM httpd:2.4 COPY ./public-html ...
- Linux 无法连接网络排查方法
.hosts文件增加 127.0.0.1 对localhost的解析. .检查/etc/resove.cnf dns配置是否正确 .route命令检查是否有默认路由,没有就 route add 网段 ...