前端常见的面试题(二)

mac2024-12-02  28

1、简述vuex的工作流程 2、vue-router导航守卫(钩子函数) 路由钩子分为三种:全局的、局部的(组件级)、单个路由独享

全局的 router.beforeEach( ) 进入路由之前 router.afterEach( ) 路由跳转后 router.beforeResolve( ) 路由调转中 注:任何一个路由跳转的时候都会执行这些路由钩子 我们可以在router.beforeEach()和router.beforeResolve()在这个方法中可以人为的改变跳转路径( )

局部的(组件级别的) beforeRouteEnter( ) 进入路由前 beforeRouteUpdate( ) 路由复用同一个组件时 beforeRouteLeave( ) 离开当前路由时

单个路由级别的 beforeEnter( ) 先调用全局,在调用局部的

to,from,next 这三个参数:

to和from是将要进入和将要离开的路由对象,路由对象指的是平时通过this.$route获取到的路由对象 next:Function这个参数是个函数,且必须调用,否则不能进入路由(页面空白) next() 进入该路由 next(false): 取消进入路由,url地址重置为from路由地址(也就是将要离开的路由地址) next 跳转新路由,当前的导航被中断,重新开始一个新的导航 next({path:‘路径’})

3、详述keep-alive组件

keep-alive是动态组件,是vue提供给我们的一个标签,来保存不被激活的组件实例,而不是销毁它们

4、v-show和v-if的区别

在条件为真的情况下v-if和v-show是一样的都会显示数据,在条件为假的情况下v-if不显示数据而v-show显示数据但用display:none隐藏了v-if有更高的切换成本,v-show有更高的渲染成本,频繁的切换要用v-show

5、vue中key的作用

key的作用是让每个item有一个唯一的识别身份,可以是下标index或者是id,主要是为了vue精准的追踪到每一个元素,高效的更新虚拟DOM

6、assets和static的区别

assets里面的静态资源文件,在打包时,压缩的静态资源文件最终也会放到static文件夹中跟着index.html一起上传到服务器static里面的静态资源文件,就不会走打包压缩程序,而是直接进入打包好的目录,直接上传到服务器

7、computed和methods的区别

computed:计算属性,具有缓存性 给原始的属性添加逻辑计算(就是简化tempalte里面{{}}计算)依赖于原始属性值,如果原始属性的值不发生改变,就不会重新执行methods:方法,没有缓存性 执行实例的某些操作 (属性的改变或者用户的行为) 只要调用都会重新执行

8、computed和watch的区别

computed:计算属性,具有缓存性 给原始的属性添加逻辑计算(就是简化tempalte里面{{}}计算)依赖于原始属性值,如果原始属性的值不发生改变,就不会重新执行watch:侦听器,监听属性,没有缓存性 通过props route 来执行异步操作,只要监听的对象发生改变,就会立即执行
最新回复(0)