前端vue面试题总结

1.Vuex中的重要核心属性?
答:五个核心属性:state、getters、mutations、actions、modules;
    state:vuex的基本数据,用来存储变量。
    getters:从基本数据(state)派生的数据,相当于state的计算属性。
    mutations:提交更新数据的方法,必须是同步的(如果需要异步使用action)。
每个 mutation 都有一个字符串的 事件类型 (type) 和 一个 回调函数 (handler)。
回调函数就是我们实际进行状态更改的地方,
并且它会接受 state 作为第一个参数,提交载荷作为第二个参数。    
    action:和mutation的功能大致相同,不同之处在于
     ==》1. Action 提交的是 mutation,而不是直接变更状态。 
     ==》2. Action 可以包含任意异步操作。
    modules:模块化vuex,可以让每一个模块拥有自己的
state、mutation、action、getters,使得结构非常清晰,方便管理。

2.v-if和v-show的区别
    v-if直接从dom树上添加或者删除节点。
    v-show是设置节点的display为none。不会从dom里删除。
    v-if比v-show更消耗性能,经常切换建议使用v-show。

3.Vue的生命周期共有哪些阶段。
    八个阶段:1.beforecreate(创建前)
            2.created(创建后)
            3.beforemount(载入前)
            4.mounted(载入后)
            5.beforeupdate(更新前)
            6.updated(更新后)
            7.beforedestroy(销毁前)
            8.destroyed(销毁后)
    Vue第一次页面加载会触发beforeCreate  created beforeMount mounted四个钩子函数

4.vue中computed和watch区别
    computed是计算属性,要用的属性并不存在,需要使用已有的数据来计算获得
    watch是监视属性,监视的属性必须存在,当监视的属性改变时,回调函数会自动调用

5.vue中key有什么作用
    1.高效的更新虚拟DON
    2.默认使用就地复用策略,列表数据修改的时候,他会根据key值去判断某个值是否修改,
    如果修改,则重修渲染这一项,否则复用之前的元素
    总结:不使用时,当更新列表时,所有数据都需要重新渲染一遍
    使用时,会在适当的位置插入新元素来完成更新

6.vue常用的修饰符有哪些应用场景
   vue中修饰符分为:表单修饰符、事件修饰符、鼠标按键修饰符、键值修饰符、v-bind修饰符。
  应用场景

            .stop  阻止事件冒泡
            .native 绑定原生事件
            .once 事件只执行一次
            .self  将事件绑定在自身身上,相当于阻止事件冒泡
            .prevent  阻止默认事件
            .caption 用于事件捕获
            .keyCode 用于键盘按键事件监听
            .right 鼠标右键事件监听
            .trim 用于输入框,去除内容前后空格

7.vue中常用的指令
    v-for  v-model  v-if  v-router v-show  v-on v-bind

8.vue组件间通信的分类可以分成哪些
    父组件传子组件,子组件使用poros
    子组件向父组件,使用$emit

9.vue-router有哪几种路由守卫
第一种全局路由
router.beforEach和router.afterEach
第二种:路由独享守卫
routerEnter
第三种组件内守卫
beforeRouterEnter
beforeRouterLeave

10.vue双向绑定原理
object.defineproperty进行数据劫持再结合观察者模式,即发布订阅来实现数据双向绑定,这也是vue2的响应式原理,而vue3这使用proxy代替了object.defineproperty实现。

11.vue中组件和插件有什么区别
组件 (Component) 是用来构成你的 App 的业务模块,它的目标是 App.vue。
插件 (Plugin) 是用来增强你的技术栈的功能模块,它的目标是 Vue 本身。

12.<keep-alive></keep-alive>的作用是什么?
keep-alive是vue内置组件,可以是被包含的组件保留状态,或避免重新渲染。

13.vue-loader是什么?使用它的用途有哪些?
vue文件的一个加载器,将template/js/style转换成js模块。
用途:js可以写es6、style样式可以scss或者less、template可以加jade等。

14.axios
js中使用import进来,然后使用get、post。返回成功在.then函数中执行,返回失败在.catch函数中执行。

15.v-model的使用
表单的双向绑定,是一个语法糖,主要做了两个操作:v-bind绑定一个value属性;v-on指令给房钱元素绑定input事件。

16.$nextTick的使用
当你修改了data的值然后马上获取这个dom元素的值,是不能获取到更新后的值,你需要使用$nextTick这个回调,让修改后的data值渲染更新到dom元素之后再获取,才能成功。



 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值