VUE属于当初比拟热门的前端框架,在前端培训学习VUE好上手学习起来也不难,所以有工夫还想从事前端的敌人还请认真看完。
什么是VUE?
首先Vue.js(VUE),是一套用于构建用户界面的渐进式JavaScript 框架,自底层向上利用,Vue的外围库只关注视图层,容易入门,能够和第三方库或者已有的我的项目进行整合,能够做简单的单页利用。
VUE的两个外围是什么?
数据驱动:在VUE中,数据的扭转会驱动视图的自动更新。传统做法是须要手动扭转DOM来使视图更新,而VUE只须要扭转数据。
组件化:组件化开发长处很多,能够很好的升高数据之间的耦合度。将罕用代码封装成组件之后就能高度的复用,进步代码可复用性。
这里说一下,一个页面能够有多个模块/组件组成。
什么是VUE的MVVM模式?
MVVM 是 Model-View-ViewModel 的缩写。mvvm 是一种设计思维。Model 层代表数据模型,也能够在 Model 中定义数据批改和操作的业务逻辑;View 代表 UI 组件,它负责将数据模型转化成 UI 展示进去,ViewModel 是一个同步View 和 Model 的对象。
在 MVVM 架构下,View 和 Model 之间并没有间接的分割,而是通过 ViewModel 进行交互,Model 和 ViewModel 之间的交互是双向的, 因而 View 数据的变动会同步到 Model 中,而 Model 数据的变动也会立刻反馈到 View 上。
ViewModel 通过双向数据绑定把 View 层和 Model 层连贯了起来,而 View 和 Model 之间的同步工作齐全是主动的,无需人为干预,因而开发者只需关注业务逻辑,不须要手动操作 DOM, 不须要关注数据状态的同步问题,简单的数据状态保护齐全由 MVVM 来对立治理。
MVVM和MVC有什么区别?
mvc 和 mvvm 其实区别并不大。都是一种设计思维。次要就是 mvc 中 Controller 演变成 mvvm 中的 viewModel。mvvm 次要解决了 mvc 中大量的 DOM 操作使页面渲染性能升高,加载速度变慢,影响用户体验。
什么是VUE的双向绑定?
VUE的双向绑定是通过数据劫持联合发布者——订阅者的形式实现。
咱们晓得单方是绑定的,首先对数据进行劫持监听,所以须要监听器Observer,用来监听所有属性,如果属性发生变化,就须要通知订阅者Watcher是否须要更新,因为订阅者是多个,所以要有一个音讯订阅起来专门收集这些订阅者,而后在监听器Observer和订阅者Watcher之间进行对立治理,接着有一个指令解析器conpile,对每个节点元素进行扫描和解析,将相干指令对应初始化成一个订阅者Watcher,并替换模板或者绑定相应的函数,此时订阅者Watcher接管到相应属性变动,就会执行对应的更新函数,从而更新视图。
实现一个监听器Observer,用来劫持所有属性,如果有变动就告诉订阅者Watcher。
实现一个音讯订阅器Watcher,用来收到属性的变动告诉并执行相应函数从而更新。
实现一个解析器Compile,能够扫描和解析每个节点的相干指令,并依据初始化模板以及初始化相应的订阅器。
V-IF和V-SHOW有什么区别?
两者都是用来判断DOM节点是否显示。
实现形式
V-IF 依据前面数据的虚实值判断从DOM树上删除或重建节点。
V-SHOW 只是批改CSS款式,也就是Display的属性。
编译条件
V-IF 是惰性的,如果初始条件为假则什么也不做,只有在第一条件为真时才开始部分编译 。
V-SHOW 是在任何条件下都被编译,而后被缓存,而且DOM元素始终保留。
编程过程
V-IF 切换有一个部分编译/卸载的过程,切换过程中适合地销毁和重建外部的事件监听和子组件。
V-SHOW 只是简略的基于CSS切换。
性能耗费
V-IF 有更高的切换耗费,不适宜做频繁切换。
V-SHOW 有更高的渲染耗费,适宜做频繁切换。
发表回复