浅谈Vue渐进式的理解


对于刚刚接触前端的我来说,理解Vue的相关问题还是要从基础的模型结构入手。对于内容会持续更正、添加。。。。。。


  1. 传统的MVC模型与MVVC模型

前端设计中的经典模型,Model View Controller(MVC)。


Model:模型层,与业务逻辑相关的数据对象,从后台请求数据,简而言之就是 数据的模型;

View:视图层,没什么好说的,负责数据的显示,用户直观接触的界面,像一些表格、图形等等;

Controller:控制层,负责数据交互,作为M与V之间的数据桥梁,进行业务逻辑的处理分析,类似事件;

这里需要解释一下:

Model与数据库表格的对应不是绝对的,因为数据的存储实现不一定是数据表,也有可能是数据分片;也不需要对前端视图做出对应关系。当然View需要Model的状态,会通过Controller或View来实现与Model的交互,而不是直接操作Model。


对于MVVM模型,View部分中各种控件定义一个与之对应的数据对象,那么我们只需要修改这个数据对象就可以实现对View的更新修改了;同理,对于View的改变,相应的数据对象也会做出反应。这样产生了与View相互对应的Model--ViewModel,将Model对象封装成数据对象,作为View与Model的连接器,实现View与Model的双向绑定。


2.Vue的渐进式理解

命令式渲染:需要以具体代码表达在哪里做了什么,需要具体实现过程

声明式渲染:需要声明在哪里需要做什么,不关心具体实现

浅谈Vue渐进式的理解_第1张图片

Vue的核心功能--视图模板引擎,在声明式渲染的基础上,Vue提供了组件系统、客户端路由、大规模状态管理来构建完整的框架,各部分功能相互独立,不需要整合所有部件。体现了Vue设计理念的  渐进式 ,对其理解主流说法有两种:

  • 渐进式代表的含义: 主张最少,没有多做职责之外的事;每个框架都不可避免会有自己的一些特点,从而会对使用者有一定的要求,这些要求就是主张,主张有强有弱,它的强势程度会影响在业务开发中的使用方式。(来自知乎)
  • 渐进式可以理解为:用什么拿什么;

个人认为后者的阐述便于理解,也就是说Vue虽然包含了上图中的几个组件,但我们不需要在创建工程时全部引入,每一部分都是相互独立,可以单独被使用。再描述的实际一点,Vue的每个组件都是可以单独被嵌入你现有的工程中,也就是说整个工程中可以在这里使用Vue的组件系统,可以在别的地方继续使用jQuery或者其他组件,可以很好的融合至整体功能中;当然,你也可以利用Vue的整个生态系统来进行业务开发。

Vue可以将整个网页分成可复用的组件,每个组件都有各自的Html、CSS、Javascript来渲染各自在网页中的相应部分。

(注:每个人都有各自的理解,可以通过Vue官网提供的文档来进行实际体验(Vue官网API),建议观看“介绍部分”的视频,可以对Vue有一个整体性的理解。)

 

你可能感兴趣的:(前端框架)