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 ...
随机推荐
- EntityFramework Core2.0 多对多关系配置
在EF6.0 中,多对多关系配置时,系统会自动生成第三张表,来将两张有互相约束关系的表联系起来,但是在EF Core2.0中,我们需要手动建立第三张表,比如说有两个模型Passage.cs和Cat ...
- here i am(歌手BryanAdams的歌曲)
here i am(歌手BryanAdams的歌曲) 编辑 目录 1歌曲信息 2中英文歌词 1歌曲信息编辑 1. 歌手:Bryan Adams 布莱恩·亚当斯 生日:1959年11月5日 星座:天蝎座 ...
- Spring 读取配置文件的俩种方式
读取配置可通过 org.springframework.core.env.Environment 类来获取, 也可以通过@Value的方式来获取 注解形式: @PropertySource({&quo ...
- 嵌套的ng-repeat双层循环,内层如何获取外层的$index?
html代码: <div> <ul ng-repeat="row in table track by $index"> <li ng-repeat=& ...
- HBase性能优化 Java Api
1. 使用“连接池” 如果每次和Hbase交互时都去新建连接的话,显然是低效率的,HBase也提供类连接池相关的API. 1.1. HTablePool 早期的API中使用它,但很不幸,现在它已经过时 ...
- Apache HttpComponents中的cookie匹配策略
Apache HttpComponents中的cookie匹配策略 */--> pre.src {background-color: #292b2e; color: #b2b2b2;} pre. ...
- c++ 堆和栈以及区别
c++中内存分成5个区:堆.栈.自由存储区.全局\静态存储区.常量存储区 栈是一种连续存储的数据结构,具有先进后出的性质.堆是一种非连续的树形存储数据结构,每个节点有一个值,整棵树是经过排序的,特点是 ...
- django admin自定义
django admin自定义 class CustomerAdmin(admin.ModelAdmin): list_display = ('id','name','qq','consultant' ...
- django用户验证机制
django的验证机制 from django.contrib.auth.decorators import login_required 需要在要验证的界面添加`@login_required` 登 ...
- 使用Message
Message按照定义解释就是topic内容的数据类型, 也称之为topic的格式标准. 1.结构与类型 基本的msg包括bool. int8. int16. int32. int64(以及uint) ...