| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> VUE面试题整理1.0 -> 正文阅读 |
|
[JavaScript知识库]VUE面试题整理1.0 |
VUE面试题:
1.VUE的生命周期1.1.创建前/创建后
1.2. 载入前/载入后
1.3.更新前/更新后
1.4.销毁前/销毁后
2.Vue2.x 双向绑定原理通过 数据劫持、结合、 发布者-订阅者 来实现双向绑定;数据劫持通过 底层实现逻辑:
3.vue组件传参,调用方法的几种方式
props/ emit +v-on: 通过props将数据自上而下传递,通过$emit和v-on来向上传递信息。 EventBus: 通过EventBus进行信息的发布与订阅 vuex: 是全局数据管理库,可以通过vuex管理全局的数据流 attrs/listeners: Vue2.4中加入的attrs/listeners可以进行跨级的组件通信 provide/inject:以允许一个祖先组件向其所有子孙后代注入一个依赖,不论组件层次有多深,并在起上下游关系成立的时间里始终生效,这成为了跨组件通信的基础 4.MVVM的理解?MVVM是什么?MVVM 模式,顾名思义即 Model 层: View 层: ViewModel 层: 5.MVVM的优缺点?优点: 缺点: 6.Vue是如何实现双向绑定的?利用 7.你是如何理解Vue的响应式系统的?响应式系统简述: Vue 的 data 上的属性会被添加 当 data 被改动时(主要是用户操作), 即被写, setter 方法会被调用, 此时 Vue 会去通知所有依赖于此 data 的组件去调用他们的 8.虚拟DOM的优劣势如何?优点: 无需手动操作DOM: 跨平台: 缺点: 9.虚拟DOM实现原理?虚拟DOM本质上是JavaScript对象,是对真实DOM的抽象 10.axios是什么易用、简洁且高效的http库, 支持node端和浏览器端,支持Promise,支持拦截器等高级配置。 11.vue 的 nextTick 方法的实现原理1.vue 用异步队列的方式来控制 DOM 更新和 nextTick 回调先后执行 12.v-if和v-for一起使用的弊端及解决办法由于v-for的优先级比v-if高,所以导致每循环一次就会去v-if一次,而v-if是通过创建和销毁dom元素来控制元素的显示与隐藏,所以就会不停的去创建和销毁元素,造成页面卡顿,性能下降。 解决办法: 1.在v-for的外层或内层包裹一个元素来使用v-if 13.vuex是什么?怎么使用?哪种功能场景使用它?vue框架中状态管理。在 14.< keep-alive>< /keep-alive>的作用是什么,如何使用?包裹动态组件时,会缓存不活动的组件实例,主要用于保留组件状态或避免重新渲染; 15.你都做过哪些Vue的性能优化?编码阶段 1.尽量减少data中的数据,data中的数据都会增加getter和setter,会收集对应的2.watcher SEO优化 1.预渲染 打包优化 1.压缩代码 用户体验 1.骨架屏 还可以使用缓存(客户端缓存、服务端缓存)优化、服务端开启gzip压缩等。 16.hash路由和history路由实现原理说一下
history实际采用了HTML5中提供的API来实现,主要有 17.vue.cli中怎样使用自定义的组件?有遇到过哪些问题吗?第一步:在components目录新建你的组件文件(indexPage.vue),script一定要export default {} 18.vuex的核心概念1.state => 基本数据 19. $ route和$ router的区别1.$route是“路由信息对象”,包括path,params,hash,query,fullPath,matched,name等路由信息参数。 1.$route.path 字符串,对应当前路由的路径,总是解析为绝对路径如"/foo/bar"。 $router是“路由实例”对象包括了路由的跳转方法,钩子函数等 1、push 1.字符串this.
r
o
u
t
e
r
.
p
u
s
h
(
′
h
o
m
e
′
)
2.
对
象
t
h
i
s
.
router.push('home') 2. 对象this.
router.push(′home′)2.对象this.router.push({path:‘home’}) 2、go 20.vue-router实现路由懒加载(动态加载路由)把不同路由对应的组件分割成不同的代码块,然后当路由被访问时才加载对应的组件即为路由的懒加载,可以加快项目的加载速度,提高效率
|
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 7:44:58- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |