1:什么是MVVM;
MVVM是Model(模型) - View(试图) - Viewmodel(试图模型)的简写;
2:Vue中的生命周期有哪几种钩子,分为八种钩子;
beforeCreate (创建前)created (创建后)beforeMount (载入前)mounted (载入后)beforeUpdate (更新前)updated (更新后)beforeDestroy (销毁前)destroyed (销毁后)
3:Vue中双向绑定原理是什么;
原理是利用Object.defineProperty()方法重新定义了对象,并且获取他的属性值(get)与设置他的属性值(set)的操作来实现;
4:v-if与v-show的区别是什么;
共同点:都是用来判断DOM节点是否显示;不同点:v-if是把当前节点移除而v-show是在当前节点添加样式;
5:说出4种vue中指令与用法;
v-if (判断是否隐藏)v-for (数据遍历)v-bind (绑定数据)v-model (双向绑定)
6:vue-router有哪几种导航钩子;
全局组件导航钩子组件内部导航钩子独享路由组件钩子
7:vuex是什么以及他有哪几种属性;
vuex:全局状态管理工具,简单来说就是一个数据管理工具vuex有五种属性分别是: 1: State (存放数据的地方,类似于一个仓库); 2: Getter (是State中的一个计算属性); 3: Mutation (Action跟Mutation类似,但不同点在于:Action提交的是Mutation而不是变更他的状态); 4: Action (可以包含任意异步操作) 5: Module (模块化vuex)
8:vue中$route与$router有什么区别;
1: $router是vueRouter中的实例;2: $route是跳转路由的对象;
9:vue-Router有哪几种路由守卫;
beforeEach (全局守卫)afterEach (后置守卫)beforeResolve (全局解析守卫)beforeEnter (路由独享守卫)
10:vue-Router懒加载有几种方式;
通过异步加载;通过 import;通过webpack提供的 require.ensure();
11:vue路由传参有几种方式;
this.$router.push''>this.$router.paramsthis.$router.query
12:vue中父子组件通信;
父组件向子组件传参:props;子组件向父组件传参:$emit 父组件用 on 去监听;
13:action-class是那个组件的属性;
vue-Router模块中的Router-link组件;
14:vue中的缓存;
缓存可以使用 并且他提供了两个属性分别是: 1: include:只对当前选中的名称缓存; 2: exclude: 只对当前选中的名称不缓存;
15:vue与jQuery的区别是什么;
vue是数据驱动,是通过数据来展示试图,而不是Dom操作;
16:vue-Router是什么,它有那些组件;
vue-Router是一个路由插件;vue-Router它有两个组件:
17:vue中导航守卫(组件内的守卫)有那些;
beforeRouteEnter (进入组件之前)beforeRouteUpdate (该组件被复用时调用)beforRouteLeave (离开组件之后)
18:v-if与v-for那个优先级高;
当他们处与同一个节点,那么v-for比v-if的优先级高
19:v-on可以监听多个方法吗;
v-on可以监听多个方法,但同一种事件类型的方法,v-on只能监听一次;
20:key值的作用是什么;
管理可复用元素;简单来说就是:使用可复用已存在的元素,而不是从头开始渲染
以上就是个人在面试中碰到的一些问题,希望也行对你有帮助;
一个90后,前端程序员,写的不好还请多多关照;
【关注前端概念】