写在前面

CSDN话题挑战赛第1期

  • 活动详情地址:https://marketing.csdn.net/p/bb5081d88a77db8d6ef45bb7b6ef3d7f

  • 参赛话题:前端面试宝典

  • 话题描述:欢迎各位加入话题创作得小伙伴,如果我没有猜错得话,我觉得你是应该同我一样是一位前端人。如今前端在IT事业中的占比越来越重,已经成为不可缺少的部分,前端技术也是层出不穷,各种技术类、技术框架也蜂拥而出,前端面试的难度也随之增加,如果我们拥有一套前端面试宝典。如果你是应聘者:你就可以从容的solo面试官,如果你是面试官:你就可以将应聘者拷问到骨子里!
    总之我们大家一起将自己的面试经验以及学习到的知识点汇聚于此,形成一套体系的前端面试宝典。让读者无论是面试还是学习都能够有非常大的收获。就让我们携手共筑前端面试宝典吧!!!

  • 创作模板:

携手共筑前端面试宝典

  • Vue3 和 Vue2 的区别
    • 考点
    • 答案
      • Vue3 的优点
        • 1. 速度更快
        • 2. 体积更小
        • 3. 更易维护
        • 4. 更接近原生
        • 更易使用
      • Vue3 新增特性
        • framents
        • Teleport
        • createRenderer
        • composition Api
      • 非兼容性变更
        • Global API
        • 模板指令
        • 组件
        • 渲染函数
        • 其他小改变
        • 移除 API
    • 扩展
      • 能够使用 webpack 的 tree-shaking 有什么好处?

Vue3 和 Vue2 的区别

考点

  • Vue3 和 Vue2 的介绍
  • Vue3 新增特性
  • Vue3 的优缺点
  • Vue2 的优缺点
  • Vue3 相对于Vue2 的非兼容性变更

答案

Vue3 的优点

1. 速度更快

  • Vue3 相比 Vue2 来说,Vue3 重写了虚拟 Dom 实现,编译模板的优化,更高效的组件初始化,undate性能提高 1.3 ~ 2 倍,SSR 速度提高了 2 ~ 3 倍。

2. 体积更小

  • 通过 webpacktree-shaking 功能,可以将无用模块“剪辑”,仅打包需要的模块。

3. 更易维护

  • compositon Api 可与现有的 Options API 一起使用。
  • 灵活的逻辑组合与复用。
  • Vue3 模块可以和其他框架搭配使用。

4. 更接近原生

  • 可以自定义渲染 API 。

更易使用

  • 响应式 Api 暴露出来。
  • 轻松识别组件重新渲染原因。

Vue3 新增特性

  • Vue3 中需要关注的一些新功能:

    • framents
    • Teleport
    • composition
    • createRenderer

framents

  • 在 Vue3.x 中,组件现在支持有多个根节点。
<!-- Layout.vue -->
<template><header>...</header><main v-bind="$attrs">...</main><footer>...</footer>
</template>

Teleport

  • Teleport 是一种能够将我们的模板移动到 DOMVue app 之外的其他位置的技术,就有点像哆啦A梦的“任意门”。
  • vue2 中,像 modalstoast 等这样的元素,如果我们嵌套在 Vue 的某个组件内部,那么处理嵌套组件的定位z-index样式就会变得很困难。
  • 通过 Teleport ,我们可以在组件的逻辑位置写模板代码,然后在 Vue 应用范围之外渲染它。
    <button @click="showToast" class="btn">打开 toast</button>
    <!-- to 属性就是目标位置 -->
    <teleport to="#teleport-target"><div v-if="visible" class="toast-wrap"><div class="toast-msg">我是一个 Toast 文案</div></div>
    </teleport>
    

createRenderer

  • 通过 createRenderer ,我们能够构建自定义渲染器,我们能够将 vue 的开发模型扩展到其他平台。
  • 我们可以将其生成在 canvas 画布上。
  • 了解 createRenderer 的基本使用。
    import { createRenderer } from '@vue/runtime-core'const { render, createApp } = createRenderer({patchProp,insert,remove,createElement,// ...
    })export { render, createApp }export * from '@vue/runtime-core'
    

composition Api

  • composition Api,也就是组合式 API,通过这种形式,我们能够更加容易维护我们的代码,将相同功能的变量进行一个集中式的管理
  • composition Api 的使用:
  • composition Api 的简单使用:
    export default {setup() {const count = ref(0)const double = computed(() => count.value * 2)function increment() {count.value++}onMounted(() => console.log('component mounted!'))return {count,double,increment}}
    }
    

非兼容性变更

Global API

  • 全局 Vue API 已更改为使用应用程序实例。
  • 全局内部 API 已经被重构为可 tree-shakable

模板指令

  • 组件上 v-model 用法已更改。
  • <template v-for>非 v-for 节点上 key 用法已更改。
  • 同一元素上使用的 v-ifv-for 优先级已更改。
    * v-bind="object" 现在排序敏感。
  • v-for 中的 ref 不再注册 ref 数组

组件

  • 只能使用普通函数创建功能组件。
  • functional 属性在单文件组件 (SFC)
  • 异步组件现在需要 defineAsyncComponent 方法来创建。

渲染函数

  • 渲染函数 API 改变。
  • $scopedSlots property 已删除,所有插槽都通过 $slots 作为函数暴露。
  • 自定义指令 API 已更改为与组件生命周期一致。
  • 一些转换 class 被重命名了:
    • v-enter -> v-enter-from
    • v-leave -> v-leave-from
  • 组件 watch 选项和实例方法 $watch 不再支持点分隔字符串路径,请改用计算函数作为参数。
  • Vue 2.x 中,应用根容器的 outerHTML 将替换为根组件模板 (如果根组件没有模板/渲染选项,则最终编译为模板)。Vue3.x 现在使用应用程序容器的 innerHTML

其他小改变

  • destroyed 生命周期选项被重命名为 onUnmounted
  • beforeDestroy 生命周期选项被重命名为 onBeforeUnmount
  • [prop default 工厂函数不再有权访问 this 是上下文。
  • 自定义指令 API 已更改为与组件生命周期一致。
  • data 应始终声明为函数。
  • 来自 mixindata 选项现在可简单地合并
  • attribute 强制策略已更改。
  • 一些过渡 class 被重命名。
  • 组建 watch 选项和实例方法 $watch 不再支持以点分隔的字符串路径。请改用计算属性函数作为参数。
  • <template> 没有特殊指令的标记 (v-if/else-if/else、v-for 或 v-slot) 现在被视为普通元素,并将生成原生的 <template> 元素,而不是渲染其内部内容。
  • Vue 2.x 中,应用根容器的 outerHTML 将替换为根组件模板 (如果根组件没有模板/渲染选项,则最终编译为模板)。Vue 3.x 现在使用应用容器的 innerHTML,这意味着容器本身不再被视为模板的一部分。

移除 API

  • keyCode 支持作为 v-on 的修饰符。
  • $on$off$once 实例方法。
  • 过滤 filter
  • 内联模板 attribute
  • $destroy 实例方法。用户不应再手动管理单个 Vue 组件的生命周期。

扩展

能够使用 webpack 的 tree-shaking 有什么好处?

  • 对开发人员:能够使用 vue 开发出更多其他的功能,而不必担忧整体体积过大。

  • 对使用者:打包出来的包体积变小了。

写在最后

CSDN话题挑战赛第1期

  • 活动详情地址:https://marketing.csdn.net/p/bb5081d88a77db8d6ef45bb7b6ef3d7f

想要刚毕业就月入过万必须要懂这些面试题(Vue 篇)相关推荐

  1. 大学生毕业摆地摊月入两万的真实经历

    2018年3月12号开始做这个号,5月份见了一个投资人,从晚上8点聊到凌晨,其中大概有三分之一的时间在聊"我大学毕业之后在北京摆地摊的经历". 聊完,他还是好奇加不解的问: &qu ...

  2. 27岁女测试员,月入3万开宝马!IT测试行业真的唠?

    前言 27岁一个风华正茂的的年级,一个女测试员在这个年龄已经开上了宝马,当时宛如一道闪电,电的我发麻,无论是父母也好,对已经二十八岁的我来说拥有保障收入的稳定工作是我最为追求的目标.没想到自己这么差! ...

  3. 一个独立开发者,他是如何做到月入 20 万的?

    loonggg 读完需要 5分钟 速读仅需2分钟 今天继续分享关于独立开发者赚钱的案例.在分享之前,我想说:说实话,月入 20 万的这个独立开发者,真的是善于观察和发现痛点,能做到月入 20 万,靠的 ...

  4. 做咸鱼能够月入10万?我来揭秘一下。

    推荐阅读: <该抄底了...> <有人说我割韭菜...> 1 月入10万? 大家好,我是微笑哥. 我经常会在圈内看到一些做咸鱼的推广,收费 1X99 元承诺做咸鱼可以月收入大几 ...

  5. 【爆品】馥兰朵想买找谁?代理能月入过万吗?

    眼睛可以看出美,看出年轻,爱美从护眼开始.随着年龄的增长,眼部鱼尾纹Z先显现,经常加班熬夜从眼部黑眼圈就能看出,那么,选择一款好的眼霜就必不可少.馥兰朵紧致眼霜让黑眼圈,脂肪粒跟你说拜拜,还你美丽双眸 ...

  6. 刚需市场“论文查重”副业思路,掌握方法轻松月入过万

    随着互联网的发展,越来越多的人开始将副业作为一种赚钱的方式.其中,论文查重成为了一种备受欢迎的副业.特别是在刚需市场中,论文查重的需求量越来越大.如果你想掌握这种副业的方法,轻松月入过万,那么请继续阅 ...

  7. 想在家挣钱,这几个项目可以让你月入过万

    在创业潮正轰轰烈烈的时候,有很多人因为种种原因而无法出门创业.特别是有孩子的年轻妇女,由于时间原因无法参于很多的创业项目.但是也有很多妇女也想在家挣钱,利用闲暇之余可以赚取一部分零花钱,推荐这几个项目 ...

  8. 在义乌想月入过万,不是没有办法

    在义乌想月入过万,不是没有办法,只是看你是否愿意坚持,活很多,就怕你不愿意干.今天周日,本来是休息的日子,我完全可以好好休息一下,也许是活干多了,习惯了往日忙忙碌碌的日子,一下子停了不习惯了,总赶紧手 ...

  9. 低学历学什么技术有前途可以月入过万?

    月入过万实在是太简单了,特别是在一线城市. 一个男人,除了挣钱,谈别的都是扯淡. 这就是无际作为一个中年男人给各位还没月入过万的小伙伴的忠告! 现在不像我们父母那个60年代,女方嫁给你,可以什么都不要 ...

最新文章

  1. SVN状态图标不显示的两种解决办法
  2. 人工智能的下一个道德挑战:如何对待动物
  3. 深入理解计算机系统-之-数值存储(六)--以不同的方式窥视内存
  4. RabbitMQ添加用户
  5. spring boot 整合mongoDb
  6. 利用Flask来构建项目的大概步骤
  7. Bug之ajax不执行
  8. 几款远程工具介绍(Xshell)(SecureCRT)(putty)
  9. C++奥赛一本通递归题解
  10. python提取句子_关于python:从句子中提取介词短语
  11. C - One-dimensional Japanese Crossword CodeForces - 721A
  12. cups ipp oracle,Linux打印系统CUPS原理分析
  13. Postman使用技巧3
  14. c#窗体应用程序:100以内的素数,每8个数为一行
  15. “下班不关电脑,外套不穿出办公室”,这届年轻人为了假装加班,拼了
  16. SSLOJ 1323.交流
  17. 微型计算机汇编语言与接口技术课后答案,微机原理、汇编语言及接口技术教程课后习题答案...
  18. 奇瑞鲍思语:奇瑞新能源产品线将更加丰富
  19. 点我一下,你将获得排查性能问题的超能力~
  20. vs2013 应用程序无法正常启动

热门文章

  1. oracle 数据库如何获取一条sql语句执行所消耗耗费的时间?
  2. OFFICE 制作邀请函
  3. 宝塔如何安装多版本php,安装Lnmp(多PHP版本与宝塔)
  4. i++,++i,i+=1,i = i+1在C++中的区别
  5. Spring+百度Api实现人脸认证对比(详细篇)
  6. 2021年危险化学品经营单位安全管理人员模拟试题及危险化学品经营单位安全管理人员证考试
  7. **修炼一名程序员的职业水准(林庆忠__署名原创)**
  8. AJAX框架衣柜内部结构,衣柜内部结构这样布局,解决你家 90% 的收纳难题
  9. 教你怎么煲耳机 让声音更美妙!
  10. Mysql常用逻辑及函数大全