vue试题

1.v-for可是实现数据遍历显示,不仅可以遍历数组,也可以遍历对象,还可以从数值中取值。

2.vue的生命周期钩子

     1)实例,组件通过new Vue()创建出来之后会初始化事件和生命周期,然后就会执行beforeCreate钩子函数,这个时候数据还没有挂载,只是一个空壳,无法访问到数据和真实的dom,一般不做操作。

   2)挂载数据,绑定事件等,然后执行created函数,这个时候已经可以使用到数据,也可以更改数据,在这里更改数据不会触发updated函数,在这里可以在渲染前倒数第二次更改数据的机会,不会触发其他的钩子函数,一般在这里做初始数据的获取。

  3)接下来开始找实例或组件对应的模板,编译模板为虚拟dom放入到render函数中准备渲染,然后执行beforeMount钩子函数,在这个函数中虚拟dom已经创建完成,马上就要渲染,在这里也可以更改数据,不会触发updated,在这里可以在渲染前最后一次更改数据的机会,不会触发其他的钩子函数,一般可以在这里做初始数据的获取。

  4)接下来开始render,渲染出真是dom,然后执行mounted钩子函数,此时,组件已经出现在dom中,数据,真实dom已经处理好了,事件都已经挂载好了,可以在这里操作真是dom等事情。

  5) 当组件或实例的数据更改之后,会立即执行beforeUpdate,然后vue的虚拟dom机制会重新构建虚拟do与上一次的虚拟dom树利用diff算法进行对比之后重新渲染,一般不做什么处理。

 6)当更新完成后,执行updated,数据已经更改完成,dom也重新render完成,可以操作更新后的虚拟dom

 7)当经过某种途径调用¥destroy方法后,立即执行beforeDestroy,一般在这楼里做一些善后工作,例如清除计时器,清除非指令绑定的事件等等。

 8)组件的数据绑定,监听。。。去掉后只剩下dom空壳,这个时候,执行destroyed,在这里做善后工作也可以。

3.v-if  v-show

 v-if是真正的条件渲染,会确保在切换中条件块内的事件监听,子组件都会适当的被销毁和重建。

 v-show总是将节点渲染在dom中,只是基于css:display来控制节点的显示和隐藏。

 v-if有更高的切换开销,v-show有更高的初始渲染开销。

v-if是惰性的,初始条件为假,就不会渲染。

4.axios相关

axios请求的时候不会带上cookie,不会影响带宽,可以通过withCredentials:true来设置

对axios的请求头进行设置:

vue2.0不在更新维护vue-redource,官方推荐使用axios

axios拦截器可以拦截请求和响应,在then,catch之前拦截

posted @ 2019-04-14 15:16  火炎焱燚&  阅读(1025)  评论(0编辑  收藏  举报