我们都知道了vue的强大,在用了他之后才知道有多“大”。
确实不得不说真爽真舒服真好!
vue我认为最大的特点是不会像我们之前的原生js一样去操作dom,只操作数据。
我们知道后台中的mvc,在vue中用到的是mvvm
首先得先来看一下咱们认识的mvc吧
拿ipad画了个图(很丑勿怪)
最近在用node
后台中,数据层,页面,控制层,相互影响并作用。
每次数据更新改变都会动用整个流程,这样就会很麻烦。
再来看下vue中的mvvm
可以发现,很干净,明了 ,整洁
客户端只需要使用vm工具层进行操作即可,
(注释:vm工具层就相当于我们使用的vue,Angular,等框架,主要就是把数据和页面整合,然后再交给客户端)
也就是使用我们的vue的话,不再像之前一样去操作dom,只需要数据绑定,数据更新也不会影响服务器。
vue就是前台的view和model的沟通桥梁,而我们也只需要关注逻辑就行。
扩展:
在vue中的数据是用数据劫持的方式,但angular都是脏值检查的方式
再来说一下vue的声明周期:
简单理解声明周期就是一个vue初始化外城到关闭的过程就是一个生命周期。
它中少不了钩子函数
我记为:
创建前,创建后,
销毁前,销毁狗,
数据更新前,数据更新后,
挂载前,挂载后
当然顺序应该是:
创建,挂载,数据更新,销毁。
注解:
在beforeCreate时,vue的el还没有绑定元素。
在beforeMount时,只是虚拟节点挂载渲染,到了Mount才是挂载完毕,也就是挂载后。
在updated中,可以进行dom的一些操作,但不可以在其中更改data组件中的值,否则会继续更新beforeupdate,updated,然后陷入死循环。
在beforeDestory时,此时的实例对象还没有销毁,完全可用。只有Destoryed后,才会解除绑定,时间监听移除,实例销毁。
补充:
updated,watch,nextTick三者不同:
如果想对数据的某一次更新可以用nextTick方法
对某个数据的统一变化使用watch方法
而updated是对所有数据变化统一的处理。