学习VUE的第一步就是先了解这个框架的的核心思想
Vue.js的核心思想就是,它是一套__渐进式的自底层向上增量开发__的__MVVM__结构的框架

什么是框架?

简单的讲,框架就是将与业务无关的重复代码进行封装,形成框架

框架的优势

使用框架可以极大的提升开发效率,但是使用框架需要遵循所使用框架 的语法,不过使用框架可以大大的提高对于业务逻辑的操作

什么是自底层向上开发的设计模式?

如同我们开始学习前段一样,自底层向上增量开发的设计模式同样可以看做如同盖房子一样,由开始的地基到主体承重墙到建筑内部的设计再到最后的装修添加家具一样,这种设计模式的思想就是先从基础界面开始,最后逐一添加功能和效果,这种由简单到繁琐的过程就是自底层增量开发。

MVVM的特点

一款框架体系的流行,必定与它的诸多优点相匹配,它简介、轻量级、性能好,并且其开发者尤大为一名中国开发者,所以它的中文社区活跃度更高

MVC框架

先简单的对MVC进行解释

MVC表示软件的三个部分

  • 模型(Model)
  • 视图(View)
  • 控制器 (Controller)

为什么要使用MVC?

  • MVC是一种专注业务逻辑而非设计思想的框架
  • MVC中没有DOM操作
  • 将数据独立出来,方便管理
  • 业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个不见里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。

MVC思想

MVC更关注业务数据,不关注页面页面实现的表象(独立数据,不需要操作DOM)

MVVM是什么?

  • Model,模型层,主要负责业务数据相关
  • View,视图层,负责视图相关,细分为HTML+CSS
  • ViewModel,可以看做V与M的连接桥梁,负责监听M或者V的修改是实现MVVM双向绑定的要点以上几点的结合,使得开发者只需要关注业务逻辑,不需要手动操作DOM,不需要关注数据状态的同步问题,复杂的数据状态维护完全有MVVM来统一管理

MVP思想

MVP思想的全称为Model-View-Presenter,Model提供数据,View负责显示,Presenter负责逻辑处理

MVP与MVC有着一个重大的区别:在MVP中View并不直接使用Model,他们之间的通信是通过Presenter来进行的

MVC中 的View会直接从Model中读取数据而不是通过Controller

简单的小结

MVC 思想:一种将数据层与视图层进行分离的设计思想

MVVM思想:意思就是当M层数据进行修改时,VM层会监测到变化,并且通知V层进行相应的修改,反之相同

MVP思想:MVP的全称为Model-View-Presenter,Model提供数据,View负责显示,Presenter负责逻辑的处理

VUE框架思想的更多相关文章

  1. 基于VUE框架 与 其他框架间的基本对比

    基于VUE框架的基本描述 与 其他框架间的基本对比 2018-11-03  11:01:14 A B React React 和 Vue 有许多相似之处,它们都有: 使用 Virtual DOM 提供 ...

  2. Vue框架核心之数据劫持

    本文来自网易云社区. 前瞻 当前前端界空前繁荣,各种框架横空出世,包括各类mvvm框架横行霸道,比如Angular.Regular.Vue.React等等,它们最大的优点就是可以实现数据绑定,再也不需 ...

  3. Vue学习日记(二)——Vue核心思想

    前言 Vue.js是一个提供MVVM数据双向绑定的库,其核心思想无非就是: 数据驱动 组件系统 数据驱动 Vue.js 的核心是一个响应的数据绑定系统,它让数据与DOM保持同步非常简单.在使用 jQu ...

  4. vue第四单元(初识vue-在页面中直接引入vue框架-学习使用vue语法-vue的指令-介绍data用法-methods用法)

    第四单元(初识vue-在页面中直接引入vue框架-学习使用vue语法-vue的指令-介绍data用法-methods用法) #课程目标 了解 vue 框架的特点 掌握创建 vue 实例 掌握 data ...

  5. 【Vue】Vue框架常用知识点 Vue的模板语法、计算属性与侦听器、条件渲染、列表渲染、Class与Style绑定介绍与基本的用法

    Vue框架常用知识点 文章目录 Vue框架常用知识点 知识点解释 第一个vue应用 模板语法 计算属性与侦听器 条件渲染.列表渲染.Class与Style绑定 知识点解释 vue框架知识体系 [1]基 ...

  6. Vue框架简介及简单使用

    目录 一.前端框架介绍 二.vue框架简介 三.vue使用初体验 1. vue如何在页面中引入 2. 插值表达式 3. 文本指令 4. 方法指令(事件指令) 5. 属性指令 四.js数据类型补充 1. ...

  7. vue 进阶学习(一): vue 框架说明和与其他框架的对比

    vue 框架说明和与其他框架的对比 一.说明 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用.Vue 的核心库只关注视图层,不仅易于上手,还便于与第三 ...

  8. Vue框架Element的事件传递broadcast和dispatch方法分析

    前言 最近在学习饿了么的Vue前端框架Element,发现其源码中大量使用了$broadcast和$dispatch方法,而Element使用的是Vue2.0版本,众所周知在Vue 1.0升级到2.0 ...

  9. 使用vue框架运行npm run dev 时报错解决

    使用使用vue框架运行npm run dev 时报错 如下: 原因: localhost:8080 有可能其他软件占用了,导致其他问题的出现 我们可以动态修改地址 解决: 进入项目文件的config文 ...

随机推荐

  1. 2019.10.17beta

    import socket import subprocess import os server = socket.socket() server.bind( ('127.0.0.1',8888) ) ...

  2. python学习之旅1-2(基础知识)

    三,python基础初识. 1.运行python代码. 在d盘下创建一个t1.py文件内容是: print('hello world') 打开windows命令行输入cmd,确定后 写入代码pytho ...

  3. JS放在body与head中的不同

    放在body和head其实差不多的,只不过是文档解析的时间不同.浏览器解析html是从上到下的.如果把javascript放在head里的话,则先被解析,但这时候body还没有解析,所以$(#btn) ...

  4. python 使用自定义的类方法

  5. MongoDB sharding 集合不分片性能更高?

    最近云上用户用户遇到一个 sharding 集群性能问题的疑惑,比较有代表性,简单分享一下 测试配置 mongos x 2.shard x 3 测试1:集合不开启分片,批量 insert 导入数据,每 ...

  6. mogodb 修改字段属性

    修改为decimal类型 db.shopgoods.find({'Pricing.Detail':{$type:2}}).forEach(function(x){x.Pricing.Detail=Nu ...

  7. mysql 查询当天、昨天、本周、上周、本月、上月、今年、去年数据

    mysql查询今天.昨天.7天.近30天.本月.上一月 数据 今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 SELECT ...

  8. Oracle函数——COALESCE

    COALESCE 含义:COALESCE是一个函数, (expression_1, expression_2, ...,expression_n)依次参考各参数表达式,遇到非null值即停止并返回该值 ...

  9. 一个项目看java TCP/IP Socket编程

    前一段时间刚做了个java程序和网络上多台机器的c程序通讯的项目,遵循的是TCP/IP协议,用到了java的Socket编程.网络通讯是java的强项,用TCP/IP协议可以方便的和网络上的其他程序互 ...

  10. oracle函数 sys_guid()

    [功能]生产32位的随机数,不过中间包括一些大写的英文字母. [返回]长度为32位的字符串,包括0-9和大写A-F [示例] select sys_guid() from  dual