vue面试总结60道题!!快收藏!!!

本文汇总了60个Vue面试关键问题,涵盖了Vue的核心概念、单向数据流、常用指令、生命周期、Vuex、路由、组件通信、状态管理等多个方面,帮助你全面理解和准备Vue面试。
摘要由CSDN通过智能技术生成

目录

1.Vue 的核心是什么

2.请简述你对 vue 的理解

3.请简述 vue 的单向数据流

4. Vue 常用的修饰符有哪些

5.v-text 与{ {}}与 v-html 区别

6.v-on 可以绑定多个方法吗

7.Vue 循环的 key 作用

8.什么是计算属性

9. Vue 单页面的优缺点

10.Vuex 是什么?怎么使用?在那种场景下使用

11.Vue 中路由跳转方式(声明式/编程式)

12.vue 跨域的解决方式

13.Vue 的生命周期请简述

14.Vue 生命周期的作用

15.DOM 渲染在那个生命周期阶段内完成

16.Vue 路由的实现

17.Vue 路由模式 hash 和 history,简单讲一下

18.Vue 路由传参的两种方式,params 和 query方式与区别

19.Vue 数据绑定的几种方式

20.Vue 注册一个全局组件

21.Vue 的路由钩子函数/路由守卫有哪些

22.Vue 中如何进行动态路由设置?有哪些方式?怎么获取传递过来的数据?

23.Elementui 中的常用组件有哪些?请简述你经常使用的 并且他们的属性有哪些?

24.Vue-cli 中如何自定义指令

25.Vue 中指令有哪些

26.Vue 如何定义一个过滤器

27.对 vue 中 keep-alive 的理解

28.如何让组件中的 css 在当前组件生效

29.Vue 生命周期一共几个阶段

30.Mvvm 与 mvc 的区别

31.Vue 组件中的 data 为什么是函数

32.Vue 双向绑定的原理

33.Vue 中组件怎么传值

34.Bootstrap 的原理

37.槽口请简述

38.Watch 请简述

39.Vant Ui 请简述下

40.计算属性与 watch 区别

41.mvvm 框架是什么?它和其它框架(jquery)的区别是什么?哪些场景适合?

42.Vue 首屏加载慢的原因,怎么解决的,白屏时间怎么检测,怎么解决白屏问题

43.Vue 双数据绑定过程中,这边儿数据改变了怎么通知另一边改变

44.Vuex 流程

45.Vuex 怎么请求异步数据

46.Vuex 中 action 如何提交给 mutation 的

47.Route 与 router 区别

49.vuex 的 State 特性是?

50.vuex 的 Getter 特性是?

51.vuex 的 Mutation 特性是?

52.vuex 的 actions 特性是?

54.vuex 的优势

55.Vue 路由懒加载(按需加载路由)

56.v-for 与 v-if 优先级

57.请写出饿了么 5 个组件

58.vue 在 created 和 mounted 这两个生命周期中请求数据有什么区别呢?

59.说说你对proxy 的理解

60.Vue3.0 是如何变得更快的?(底层,源码)


1.Vue 的核心是什么

        Vue 是一套构建用户界面的渐进式自底向上增量开发的 MVVM 框架, vue 的核心只关注视层,
        核心思想:
                数据驱动(视图的内容随着数据的改变而改变)
                组件化(可以增加代码的复用性,可维护性,可测试性,提高开发效率, 方便重复使用,体现了高内聚低耦合)

2.请简述你对 vue 的理解

        Vue 是一套构建用户界面的渐进式的自底向上增量开发的 MVVM 框架, 核心是关注视图层vue 的核心是为了解决数据的绑定问题,为了开发大 型单页面应用和组件化,所以 vue 的核心想是数据驱动和组件化,这 里也说一下 MVVM 思想,MVVM 思想是 模型 视图 vm 是 v 和 m 连
接的桥梁,当模型层数据修改时,VM 层会检测到,并通知视图层进行相应修改

3.请简述 vue 的单向数据流

        父级 prop 的更新会向下流动到子组件中,每次父组件发生更新,子组件 所有的 prop 都会刷新为最新的值 数据从父组件传递给子组件,只能单向绑定,子组件内部不能直接修改 父组件传递过来的数据,(可以使用 data 和 computed 解决)

4. Vue 常用的修饰符有哪些

        修饰符:
                .lazy 改变后触发,光标离开 input 输入框的时候值才会改变
                .number 将输出字符串转为 number 类型
                .trim 自动过滤用户输入的首尾空格
        事件修饰符:
                .stop 阻止点击事件冒泡,相当于原生 js 中的 event.stopPropagation()
                .prevent 防 止 执 行 预 设 的 行 为 , 相 当 于 原 生 js 中event.preventDefault()
                .capture 添加事件侦听器时使用事件捕获模式,就是谁有该事件修饰符,就先触发谁
                .self 只会触发自己范围内的事件,不包括子元素
                .once 只执行一次
        键盘修饰符:
                .enter 回车键
                .tab 制表键
                .esc 返回键
                .space 空格键
                .up 向上键
                .down 向下键
                .left 向左建
                .right 向右键
        系统修饰符:
                .ctrl .alt .shift .meta

5.v-text { {}}v-html 区别

        { {}} 将数据解析为纯文本,不能显示输出 html
        v-html 可以渲染输出 html
        v-text 将数据解析为纯文本,不能输出真正的 html,与花括号的区别是 在页面加载时不显示双花括号
        v-text 指令:
        作用:操作网页元素中的纯文本内容。{ {}}是他的另外一种写法
        v-text 与{ {}}区别:
        v-text 与{ {}}等价,{ {}}叫模板插值,v-text 叫指令。
        有一点区别就是,在渲染的数据比较多的时候,可能会把大括号显示出 来,俗称屏幕闪动

6.v-on 可以绑定多个方法吗

        可以 如果绑定多个事件,可以用键值对的形式 事件类型:事件名
        如果绑定是多个相同事件,直接用逗号分隔就行

7.Vue 循环的 key 作用

        Key 值的存在保证了唯一性,Vue 在执行时,会对节点进行检查,如果 没有 key 值,那么 vue 检查到这里有 dom 节点,就会对内容清空并赋 新值,如果有 key 值存在,那么会对新老节点进行对比,比较两者 key 是否相同,进行调换位置或删除操作

8.什么是计算属性

        计算属性是用来声明式的描述一个值依赖了其他的值,当它依赖的这个 值发生改变时,就更新DOM当在模板中把数据绑定到一个计算属性上时, vue 会在它依赖的任何值导 致该计算属性改变时更新 DOM 每个计算属性都包括一个 getter 和 setter,读取时触发 getter,修改时 触发 setter

9. Vue 单页面的优缺点

         单页面 spa 优点:前后端分离 用户体验好 一个字 快 内容改变不需要重新加载整
个页面
        缺点:不利于 seo, 初次加载时耗长(浏览器一开始就要加载 html css js ,所有的页面内都包含在主页面中) ,页面复杂度提高了,导航不 可用

10.Vuex 是什么?怎么使用?在那种场景下使用

        Vuex 是一个专为 vue.js 应用程序开发的状态管理模式,通过创建一个集 中的数据存储,方便程序中的所有组件进行访问,简单来说 vuex 就是 vue 的状态管理工具
        Vuex 有五个属性 state getters mutations actions modules
        State 就是数据源存放地,对应一般 vue 对象的 data,state 里面存放的 数据是响应式的,state 数据发生改变,对应这个数据的组件也会发生改 变用 this.$store.state.xxx 调用 Getters 相当于 store 的计算属性,主要是对 state 中数据的过滤,用 this.$store.getters.xxx 调用 Mutations 理数据逻辑的方法全部放在 mutations 中,当触发事件想 改变 state 数据的时候使用 mutations,用 this.$store.commit 调用, 给这个方法添加一个参数,就是 mutation 的载荷(payload) Actions 异 步 操 作 数 据 , 但 是 是 通 过 mutation 来 操 作 用this.$store.dispatch 来触发,actions 也支持载荷
        使用场景:组件之间的状态,登录状态,加入购物车,音乐播放
        Vuex 使用流程:
                下载 vuex
                在 src 下创建 store 以及 index.js
                引入 vue 和 vuex, 使用 vuex ,导出实例对象
                在 main.js 中引入,在.vue 文件中使用

11.Vue 中路由跳转方式(声明式/编程式)

        Vue 中路由跳转有两种,分别是声明式和编程式
                用 js 方式进行跳转的叫编程式导航
                        this.$router.push()
                        用 router-link 进行跳转的叫声明式
                        router-view 路由出口,路由模板 显示的位置
        路由中 name 属性有什么作用?
                在 router-link 中使用 name 导航到对应路由
                使用 name 导航的同时,给子路由传递参数

12.vue 跨域的解决方式

        1.后台更改 header
        2.使用 jq 提供 jsonp
        3.用 http-proxy-middleware(配置代理服务器的中间件)

13.Vue 的生命周期请简述

        vue 的生命周期就是 vue 实例创建到实例销毁的过程。期间会有 8 个钩 子函数的调用。
        beforeCreate(创建实例)
        created(创建完成)、
        beforeMount(开始创建模板)
        mounted(创建完成)、
        beforeUpdate(开始更新)
        updated(更新完成)、
        beforeDestroy(开始销毁)
        destroyed(销毁完成)

14.Vue 生命周期的作用

        给了用户在不同阶段添加自己的代码的机会

15.DOM 渲染在那个生命周期阶段内完成

        DOM 渲染在 mounted 周期中就已经完成

16.Vue 路由的实现

        前端路由就是更新视图但不请求页面,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值