vue常见面试题(一)
1. VUEX是什么?怎么使用?那种功能场景使用它?
vuex其实就是就是专门为vue构建的状态集管理。
主要是为了解决组件间状态共享的问题。
强调的是集中式管理。(本来是组件与组件的通信,现在变成组件与仓库之间的通信)
普遍来说主要是为了 便于维护,便于解耦,所以不是所有的项目都适合使用vuex。
如果不是构建大型项目,使用vuex 反而使你的项目代码繁琐多余。
vuex的核心
state: 存取数据的
mutations : 用来变更状态的
getters: 动态变更state(计算属性)
actions: 通过一动作触发,mutationns
modules: 用来拆分state
vuex数据流结构图
2.说出四个常用的vue指令以及用法
v-if: 条件渲染指令,dom元素存在或销毁
v-bind: 绑定指令: 用来绑定属性的(简写:class)
v-on: 监听vue中的事件,(简写方式为@)
v-for 循环指令
3.导航钩子有哪些?它们有哪些参数?
导航钩子指路由的生命周期(vue-router)
主要分为两种
全局:
beforeEach:在路由切换时调用
afterEach:在路由切换离开时调用
局部:
局部到单个路由:
beforeEnter:
局部到组件:
beforeRouterEnter,
beforeRouterUpdate,
beforeRouterLeave
局部的优先级大于全局
4.v-model是什么?Vue中标签怎么绑定事件?
vue中利用v-model来进行表单数据的双向绑定
v-model做了两项操作 v-bind绑定了一个value属性 v-on将当前的元素绑定到了一个事件上
更深一层则是要你说明双向绑定的原理
5.关于vue?
vue是由饿了么ued团队开发并维护的一个渐进式js框架
vue是一个mvvm的框架
如何使用vue去构建项目
vue-cli脚手架搭建
你也可以直接引入vue.js进行项目的构建
6.Vue组件封装过程(怎样封装一个Vue组件)
为什么要封装组件 ==》主要目的是为了解耦
通用组件 必须具备高性能 低耦合的特性 (往往我们还会在通用组件中留一个插槽)
tmplate标签创建 id=“header”
script标签创建 type=“x-template” id=“footer”