了解mvvm框架吗

vue.js

react.js

angular.js

谈谈你对mvvm的认识

mvc

  View :用来把数据以某种方式呈现给用户

  Model :其实就是数据

  Controller :接收并处理来自用户的请求,并将 Model 返回给用户

mvvm

m  model  数据来源

v   view   视图

vm  viewmodel

 核心是提供对View 和 ViewModel 的双向数据绑定,这使得ViewModel 的状态改变可以自动传递给 View,即所谓的数据双向绑定

ViewModel负责连接 View 和 Model,保证视图和数据的一致性

MVVM与MVC最大的区别就是:

它实现了View和Model的自动同步,

也就是当Model的属性改变时,我们不用再自己手动操作Dom元素,来改变View的显示,而是改变属性后该属性对应View层显示会自动改变

并不是VM完全取代了C,

ViewModel存在目的在于抽离Controller中展示的业务逻辑,而不是替代Controller,

其它视图操作业务等还是应该放在Controller中实现。

也就是说MVVM实现的是业务逻辑组件的重用。

由于mvc出现的时间比较早,前端并不那么成熟,

很多业务逻辑也是在后端实现,所以前端并没有真正意义上的MVC模式

双向绑定的原理

使用了什么设计模式

生命周期是什么

有看过源码吗

最新文章

  1. 不得不吐槽的Android PopupWindow的几个痛点(实现带箭头的上下文菜单遇到的坑)
  2. js闭包,匿名函数概念
  3. Transform a BST to greater sum tree
  4. ok,今天讲讲linux的部分指令吧
  5. js获取网页的各种高度和宽度
  6. ORACLE创建、修改、删除序列
  7. Python中docstring文档的写法
  8. [网络编程]VS2010+OpenSSL安装与初步了解
  9. java初级开发程序员(初识java)
  10. Powerdesigner设计表生成SQL脚本(带有注释)
  11. 06. Matplotlib 2 |折线图| 柱状图| 堆叠图| 面积图| 填图| 饼图| 直方图| 散点图| 极坐标| 图箱型图
  12. PHP爬虫
  13. modelsin联合仿真
  14. PCB (3)创建新工程PCB
  15. 基于NEO的私链(Private Blockchain)
  16. 超级账本Hyperledge的关键部件说明
  17. div设置contenteditable="true" 光标消失:原因
  18. .NetCore 使用 Linq 动态拼接Expression表达式条件来实现 对EF、EF Core 扩展查询排序操作
  19. 团队NABCD
  20. vue 中使用better-scroll 遇到的问题

热门文章

  1. Access restriction: The type 'Unsafe' is not API
  2. 根据MAC地址获取网络地址及ZDP_NwkAddrReq函数的用法
  3. ES6学习 --函数参数默认值与解构赋值默认值
  4. 异步async、await和Future的使用技巧
  5. ElasticSearch(七) Elasticsearch在Centos下搭建可视化服务
  6. How use Nmon and "Java Nmon Analyzer" for Monitor Linux Performance
  7. AFNetworking的简单使用
  8. react-router 4.0(一)
  9. FJUT3703 这还是一道数论题(二分 + hash + manacher 或者 STL + hash 或者 后缀数组 + hash)题解
  10. 微信小程序实现图片裁剪上传(wepy)