vue框架
vue框架的核心:数据驱动框架
vue可以为复杂的单页应用提供了驱动
vue是一种渐进式框架,根据自己需求,选择框架中的工具
React与Angle上手较难,使用场景有限,开发灵活度较低,一个好的工具可以让你事半功倍,而这个好的工具就是vue
以打扫家里为例
原生js 纯手工打扫
jquery 用吸尘器打扫
vue 扫地机器人
这个自己打扫就是相当于dom操作,jquery只是将原生js做了封装,并没有拜托dom操作
vue是基于MVVM视图层操作,可以构造单页面应用程序
这个VM叫视图模型,就是相当于媒介,当数据修改后告诉他,他去告诉页面样式,反过来,当页面发生改变时,也告诉VM,数据也随之改变
1 文本插值{{}}
括号里可以放参数,也可以放js表达式
2 指令
v-bind 用来绑定属性(一般可以简写)
v-html 用来绑定html片段 将有格式的内容转换为相应的html片段
v-on 动态绑定事件
v-bind:title就可以简写为 :title=“title”(变量)
v-show 通过控制dom中的css里面的display,用来频繁的显示与隐藏
v-if
v-else 通过控制dom结点进行渲染
vue生命周期
beforeCreate
created
beforeMount
mounted
beforeUpdate
updated
beforeDestroy
destroyed
一共有8个生命周期钩子函数,从vue实例创建到虚拟dom产生再到数据绑定数据监听数据渲染以及销毁的整个过程
1beforeCreate
在初始化的时候调用了beforeCreate,完成了vue实例的生命周期相关属性的初始化以及事件的初始化。这个时候还不能直接访问data中的属性及method中的方法。
2created
在初始化完毕以后,完成了vue的数据注入及数据监听操作,该构造的执行意味着vue实例创建完毕,可以进行数据的访问操作
beforeMount
创建vue实例
let vue = new Vue()
这下面涉及到一个判断
3 在created之后,vue会判断实例中是否含有el属性,如果没有会调用vm.$mount(el) ,接着会判断是否含有template属性,如果有将其解析为一个render function ,如果没有将el指定的外部html进行解析。这里只是完成了模板的解析但是数据并没有绑定到模板中。
4 mounted
创建vm.$el替换el,实际上这里完成的是数据绑定操作,在期间执行了render函数,将模板进行了解析,将数据进行了动态绑定。
el进行数据绑定
el#app el.class 具体看是如何调用选择器了
截止到现在,vue已经将页面显示了出来。随着用户的操作会引起数据改变进而导致页面刷新
5 beforeUpdate
更新虚拟dom节点。
6 updated
完成了页面的重新渲染。
7 beforeDestroy
销毁之前调用,此时还是可以访问vue实例的
8 destroyed
完成了监听器,子组件,事件监听等移除,销毁vue实例对象
销毁我觉得一般用不上