框架相关
原生JS虽能实现绝大部分功能,但要么就是过于繁琐,要么就是存在缺陷,故绝大多数开发者都会首选框架开发方案。现阶段较热门是React、Vue两大框架,两者工作原理上存在共通点,也存在一些不同点,对于校招来说,不需要两个框架都学得特别熟,一般面试官会针对你简历中写的框架进行提问。
在框架方面,生命周期、钩子函数、虚拟DOM这些基本知识是必须要掌握的,在学习的过程可以结合框架的官方文档
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
Vue框架
知识要点:
1. vue-cli工程
2. vue核心知识点
3. vue-router
4. vuex
5. http请求
6. UI样式
7. 常用功能
8. MVVM设计模式
React框架
知识要点:
1. 基本知识
2. React 组件
3. React Redux
4. React 路由
本文 GitHub https://github.com/qq449245884/xiaozhi 已收录,有一线大厂面试完整考点、资料以及我的系列文章。
使用 Vue3 的 DefileAsyncComponent
功能可让我们懒加载组件,说白了就是创建一个只有在需要时才会加载的异步组件。
这是改进初始页面加载的好方法,因为我们的应用程序将加载到较小的块中而不是必须在页面加载时加载每个组件。
在本文中,我们将学习有关defineAsyncComponent
的所有知识,并学习一个懒加载弹出窗口的例子。
defineAsyncComponent 是啥?
const AsyncComp = defineAsyncComponent(
() =>
new Promise((resolve, reject) => {
resolve({
template: ‘
})
})
)
defineAsyncComponent
可以接受一个返回 Promise
的工厂函数。Promise 的 resolve
回调应该在服务端返回组件定义后被调用。你也可以调用 reject(reason)
来表示加载失败。
defineAsyncComponent
可以从 vue 中导入,并使用:
import { defineAsyncComponent } from “vue”
// simple usage
const LoginPopup = defineAsyncComponent(() => import(“./components/LoginPopup.vue”))
这是defineAsyncComponent
的最简单方法,对于高阶用法,defineAsyncComponent
可以接受一个对象:
const AsyncPopup = defineAsyncComponent({
loader: () => import(“./LoginPopup.vue”),
// 加载异步组件时要使用的组件
loadingComponent: LoadingComponent,
// 加载失败时要使用的组件
errorComponent: ErrorComponent,
// 在显示 loadingComponent 之前的延迟 | 默认值:200(单位 ms)
delay: 1000,
// 如果提供了 timeout ,并且加载组件的时间超过了设定值,将显示错误组件
// 默认值:Infinity(即永不超时,单位 ms)
timeout: 3000
})
基础已经介绍完了,接着,我们来做个例子。
使用 defineAsyncComponent 异步加载 Popup 组件
在这个例子中,我们将使用一个由点击按钮触发的登录弹框。
我们不需要我们的应用程序在每次加载时都加载这个组件,因为只有在用户执行特定的动作时才需要它。
下面是 login 组件的实现:
// LoginPopup.vue
Login to your account
Log in
在其它组件中导入它:
<button @click=“show = true”> Login
我们可以使用 defineAsyncComponent
,只在需要的时候加载它(按钮被点击时使用v-if
来切换)。
<button @click=“show = true”> Login
这个用法看起来和上面的差不多,不急,我们 F12
打开控制台。
如果我们不使用defineAsyncComponent
,一旦我们的页面加载,我们就会看到我们的应用程序从服务器上获得LoginPopup.vue
。虽然在这个例子中,性能问题不那么严重,但如果我们有几十个组件这样做,性能上多多少少还是有影响的。
文末
我一直觉得技术面试不是考试,考前背背题,发给你一张考卷,答完交卷等通知。
首先,技术面试是一个 认识自己 的过程,知道自己和外面世界的差距。
更重要的是,技术面试是一个双向了解的过程,要让对方发现你的闪光点,同时也要 试图去找到对方的闪光点,因为他以后可能就是你的同事或者领导,所以,面试官问你有什么问题的时候,不要说没有了,要去试图了解他的工作内容、了解这个团队的氛围。
前端面试题汇总
JavaScript
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
性能
linux
前端资料汇总
orums/4304bb5a486d4c3ab8389e65ecb71ac0)**
性能
linux
前端资料汇总