vue特写面试题

1.关于Vuexvue

五大核心:vue-router

state => 基本数据vuex

getters => 从基本数据派生的数据npm

mutations => 提交更改数据的方法,同步!缓存

actions => 像一个装饰器,包裹mutations,使之能够异步。app

modules [ˈmɒdjuːlz] => 模块化Vuex异步

原理:ide

经过官方文档咱们知道,每个vue插件都须要有一个公开的install方法,模块化

vuex也不例外。其代码比较简单,调用了一下applyMixin方法,函数

该方法主要做用就是在全部组件的beforeCreate生命周期注入了设置this.$store这样一个对象,

由于比较简单,这里再也不详细介绍代码了,你们本身读一读编能很容易理解。

使用:

1.利用npm包管理工具,进行安装 vuex

2.新建一个store文件夹(这个不是必须的),并在文件夹下新建store.js文件,文件中引入咱们的vue和vuex

3.使用咱们vuex,引入以后用Vue.use进行引用

4.在main.js 中引入新建的vuex文件

5.再而后 , 在实例化 Vue对象时加入 store 对象

场景有:单页应用中,组件之间的状态、音乐播放、登陆状态、加入购物车

2. vue生命周期?

从开始建立、初始化数据、编译模板、挂载Dom、--渲染、更新---渲染、卸载等一系列过程 就是生命周期

beforeCreate:组件实例被建立之初

created:组件实例化,真实Dom尚未生成,$el还不可用

beforemount:在挂载前被调用,相关的render函数首次被调用

mounted:el被新建立的vm.$el替换

beforeUpdate:组件数据更新以前调用、虚拟Dom打补丁以前

Updated:组件数据更新

activited:keep-alive专属,组件被销毁时调用

deadactivated:keep-alive专属,组件被销毁时调用

beforeDestory:组件销毁前调用

desoryed:组件销毁后调用

3.异步请求适合在哪一个生命周期调用

官方给出的是mounted,可是也能够在created

4.关于keep-alive组件?

keep-alive解决“页面缓存”需求(好比跳转到详情页回来时列表页滚动条的深度依旧是原来的位置)

vue-router不保存切换的状态,它进行push或者replace时,旧组件会被销毁,新组件会被创建

走一遍完整的生命周期

keep-alive是个抽象组件(功能型组件)实际上不会被渲染在Dom树中,他的做用是内存中缓存组件

缓存一般出如今页面切换时,因此常和router-view一块儿出现

	

5. vue组件通讯?

1.props自上而下传递、$emit+v-on:向上传递

2.event.bus:经过bus进行信息的发布与订阅

bus.$emit("change",this.msg)

bus.$on("change",data=>{ this.info=data })

3.vuex:对全局资源进行管理

4.provide/inject:容许一个组件向全部组件注入依赖

相关文章
相关标签/搜索