位置: IT常识 - 正文

web前端面试高频考点——Vue的高级特性(动态组件、异步加载、keep-alive、mixin、Vuex、Vue-Router)(web前端面试题最新)

编辑:rootadmin
web前端面试高频考点——Vue的高级特性(动态组件、异步加载、keep-alive、mixin、Vuex、Vue-Router) 系列文章目录内容参考链接Vue基本使用Vue的基本使用(一文掌握Vue最基础的知识点)Vue通信和高级特性Vue组件间的通信及高级特性(多种组件间的通信、自定义v-model、nextTick、插槽)Vue高级特性Vue的高级特性(动态组件、异步加载、keep-alive、mixin、Vuex、Vue-Router)Vue原理1Vue原理(理解MVVM模型、深度/监听data变化、监听数组变化、深入了解虚拟DOM)Vue原理2Vue原理(diff算法、模板编译、组件渲染和更新、JS实现路由)Vue面试题web前端面试高频考点——Vue面试题文章目录系列文章目录一、Vue高级特性1、动态组件2、vue异步加载组件3、vue缓存组件(keep-alive)4、mixin二、Vuex1、Vuex基本概念2、用于Vue组件三、Vue-router1、动态路由2、懒加载一、Vue高级特性1、动态组件按未知顺序渲染组件

推荐整理分享web前端面试高频考点——Vue的高级特性(动态组件、异步加载、keep-alive、mixin、Vuex、Vue-Router)(web前端面试题最新),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:web前端面试题2021及答案,web前端面试题最新,web前端面试常问知识,web前端面试题最新,web前端常见面试题,web前端高频面试题,web前端高频面试题,web前端面试宝典,内容如对您有帮助,希望把文章链接给更多的朋友!

图片出处:https://coding.imooc.com/lesson/419.html#mid=33846

示例:动态组件的使用

index.vue 父组件

在 data 中接收组件名在 <component> 中通过 :is="xxx" 绑定组件<template> <div> <p>vue 高级特性-动态组件</p> <hr /> <component :is="NextTick"></component> </div></template><script>import NextTick from "./NextTick.vue";export default { components: { NextTick }, data() { return { NextTick }; },};</script>

示例:动态渲染多个组件

index.vue 父组件

<template> <div> <p>vue 高级特性-动态组件</p> <hr /> <div v-for="(val, key) in newsData" :key="key"> <component :is="val.type"></component> </div> </div></template><script>import myText from './myText'import myImage from './myImage'export default { components: { myText, myImage }, data() { return { newsData: { 1: { type: 'myText' }, 2: { type: 'myImage' } } }; },};</script>

myText 子组件

<template> <div> <p>我是 myText 组件</p> --------------------- </div></template>

myImage 子组件

<template> <div> <p>我是 myImage 组件</p> <img src="xxx"> </div></template>

2、vue异步加载组件import() 函数按需加载,异步加载大组件

示例:异步加载组件(按需加载,用的时候才加载)

index.vue 父组件

components 里面按需引入组件<template> <div> <my-image v-if="showImage" /> <button @click="showImage = true">点我显示</button> </div></template><script>export default { components: { myImage: () => import("./myImage"), }, data() { return { showImage: false, }; },};</script>

myImage.vue 子组件

<template> <div> <p>我是 myImage 组件</p> <img src="xxx"> </div></template>

3、vue缓存组件(keep-alive)缓存组件频繁切换,不需要重复渲染Vue性能优化的一种方法web前端面试高频考点——Vue的高级特性(动态组件、异步加载、keep-alive、mixin、Vuex、Vue-Router)(web前端面试题最新)

示例:keep-alive 实例,切换其他组件当前组件不会被销毁

KeepAlive.vue 父组件

导入 A,B,C 三个子组件点击按钮显示对应组件的内容<template> <div> <button @click="changeState('A')">A</button> <button @click="changeState('B')">B</button> <button @click="changeState('C')">C</button> <keep-alive> <keep-alive-state-a v-if="state === 'A'"></keep-alive-state-a> <keep-alive-state-b v-if="state === 'B'"></keep-alive-state-b> <keep-alive-state-c v-if="state === 'C'"></keep-alive-state-c> </keep-alive> </div></template><script>import KeepAliveStateA from "./KeepAliveStateA.vue";import KeepAliveStateB from "./KeepAliveStateB.vue";import KeepAliveStateC from "./KeepAliveStateC.vue";export default { components: { KeepAliveStateA, KeepAliveStateB, KeepAliveStateC, }, data() { return { state: "A", }; }, methods: { changeState(state) { this.state = state; }, },};</script>

KeepAliveStateA.vue 子组件

<template> <div> <p>state A</p> </div></template><script>export default { mounted() { console.log("A mounted"); }, destroyed() { console.log("A destroyed"); },};</script>

KeepAliveStateB.vue 子组件

<template> <div> <p>state B</p> </div></template><script>export default { mounted() { console.log("B mounted"); }, destroyed() { console.log("B destroyed"); },};</script>

KeepAliveStateC.vue 子组件

<template> <div> <p>state C</p> </div></template><script>export default { mounted() { console.log("C mounted"); }, destroyed() { console.log("C destroyed"); },};</script>

4、mixin多个组件有相同的逻辑,抽离出来mixin 并不是完美的解决方案,会有一些问题Vue3 提出的 Composition API 旨在解决这些问题

mixin 的一些问题

(1)变量来源不明确,不利于阅读 (2)多个 mixin 可能会造成命名冲突 (3)mixin 和组件可能出现多对多的关系,复杂度较高

示例:使用 mixin

MixinDemo.vue 组件

首先导入 mixin.js 文件mixins: [xxx] 使用它<template> <div> <p>{{ name }} {{ major }} {{ city }}</p> <button @click="showName">显示姓名</button> </div></template><script>import myMixin from "./mixin";export default { mixins: [myMixin], data() { return { name: "杂货铺", major: "web 前端", }; }, mounted() { console.log("component mounted", this.name); },};</script>

mixin.js 文件

mixin.js 里面的值和方法,可以在引用它的组件里直接使用export default { data() { return { city: "北京", }; }, methods: { showName() { console.log("点击显示名字:", this.name); }, }, mounted() { console.log("mixin mounted", this.name); },};

二、Vuex1、Vuex基本概念

Vuex基本概念参考链接

stategettersactionmutation2、用于Vue组件

用于Vue组件的Vuex参考链接

dispatchcommitmapStatemapGettersmapActionsmapMutations 三、Vue-router

Vue-router 使用参考链接

路由模式(hash、H5 history)路由配置(动态路由、懒加载)hash 模式(默认),如 http://abc.com/#/user/10(一般选择 hash 模式)H5 history 模式(默认),如 http://abc.com/user/10(需要 server 端支持)1、动态路由const User = { // 获取参数,如 10 20 template: '<div>User {{ $router.params.id }} </div>'}const router = new VueRouter({ routes: [ // 动态路径参数 以冒号开头。能命中 `/user/10` `/user/20` 等格式的路由 {path: '/user/:id', component: User} ]})2、懒加载按需引入,实现懒加载export default new VueRouter({ routes: [ { path: '/', component: () => import('./components/xxx') } ]})

不积跬步无以至千里 不积小流无以成江海

点个关注不迷路,持续更新中…

本文链接地址:https://www.jiuchutong.com/zhishi/295680.html 转载请保留说明!

上一篇:Vue动态组件 component :is的使用(vue动态组件component原理)

下一篇:SpringBoot+Vue实现文件上传下载功能

  • 苹果账号怎么注册(苹果账号怎么注销邮箱)

    苹果账号怎么注册(苹果账号怎么注销邮箱)

  • 中国国家数字图书馆怎么注册(中国国家数字图书馆官网入口)

    中国国家数字图书馆怎么注册(中国国家数字图书馆官网入口)

  • 京东精选和京东超市的区别(京东精选和京东自营的东西哪个好)

    京东精选和京东超市的区别(京东精选和京东自营的东西哪个好)

  • 华为nova6手机变成黑白色怎么调回来(华为nova6手机变成灰色怎么恢复)

    华为nova6手机变成黑白色怎么调回来(华为nova6手机变成灰色怎么恢复)

  • 苹果11pro max相机怎么设置水印(苹果11pro max相机美颜怎么设置)

    苹果11pro max相机怎么设置水印(苹果11pro max相机美颜怎么设置)

  • 微型计算机就是体积很小的计算机对吗(微型计算机就是我们经常使用的计算机)

    微型计算机就是体积很小的计算机对吗(微型计算机就是我们经常使用的计算机)

  • iqoo3有nfc吗(iqoo3有没有nfc功能)

    iqoo3有nfc吗(iqoo3有没有nfc功能)

  • 推耳机是什么意思(耳机推子是什么)

    推耳机是什么意思(耳机推子是什么)

  • ipad mini5长和宽(ipad mini 5长度)

    ipad mini5长和宽(ipad mini 5长度)

  • wps怎么分节(wps怎么分节打印)

    wps怎么分节(wps怎么分节打印)

  • 数字调制的三种方式(数字调制的三种基本形式是____、FSK和PSK)

    数字调制的三种方式(数字调制的三种基本形式是____、FSK和PSK)

  • qq阅读内测版是每个人都有吗(qq阅读支持正版阅读)

    qq阅读内测版是每个人都有吗(qq阅读支持正版阅读)

  • 微信投诉警告处理是什么意思(微信投诉警告处理被投诉的可以收到吗)

    微信投诉警告处理是什么意思(微信投诉警告处理被投诉的可以收到吗)

  • 华为手环别的手机能用吗(华为手环别的手表能用吗)

    华为手环别的手机能用吗(华为手环别的手表能用吗)

  • 华为nova6卡槽在哪里(华为nova6sim卡槽)

    华为nova6卡槽在哪里(华为nova6sim卡槽)

  • 小米6支持qc3.0快充吗(小米6是否支持快充)

    小米6支持qc3.0快充吗(小米6是否支持快充)

  • 石家庄公交车可以用微信吗(石家庄公交车可以吃东西吗)

    石家庄公交车可以用微信吗(石家庄公交车可以吃东西吗)

  • oppo怎么自己设计主题(oppo怎么自己设置动态壁纸图片)

    oppo怎么自己设计主题(oppo怎么自己设置动态壁纸图片)

  • 黄钻退订在哪里(qq黄钻退订有钱吗)

    黄钻退订在哪里(qq黄钻退订有钱吗)

  • 酷我音乐怎么设置铃声(酷我音乐怎么设置苹果14手机铃声)

    酷我音乐怎么设置铃声(酷我音乐怎么设置苹果14手机铃声)

  • 如何看微信撤回的消息(如何看微信撤回的图片)

    如何看微信撤回的消息(如何看微信撤回的图片)

  • 百度地图怎么圈范围(百度地图怎么圈出几公里的地方)

    百度地图怎么圈范围(百度地图怎么圈出几公里的地方)

  • 华为p30手机扫描文件功能在哪里(华为P30手机扫描功能)

    华为p30手机扫描文件功能在哪里(华为P30手机扫描功能)

  • 开源鸿蒙 OpenHarmony Github 镜像库正式上线(开源鸿蒙适配)

    开源鸿蒙 OpenHarmony Github 镜像库正式上线(开源鸿蒙适配)

  • 嘴型融合 wav2lip 升级版

    嘴型融合 wav2lip 升级版

  • 商业保理怎么账务处理
  • 银行应发贷款和实际收到的贷款为什么不一致
  • 期初余额有误怎么在本期做调整凭证
  • 交强险怎么查
  • 记账王怎么查询凭证
  • 怎样根据税负率调账
  • 青年企业家协会入会要求
  • 工业企业所得税优惠政策
  • 企业自建固定资产
  • 证券交易所风险公告怎么写
  • 增值税申报表更正情况说明怎么写
  • 负数发票跨月怎么重开
  • 单位处置车辆账务处理
  • 境内机构经常项目外汇账户
  • 研发支出辅助账2021版
  • 在外地的分公司可以独立核算开发票吗
  • 税务代理有哪些岗位
  • 加权平均净资产收益率等于企业净利润除以
  • 税收优惠政策2020年
  • 长期股权投资账务处理
  • 上年度多计提的工资怎么冲减
  • 银行手续费可以汇总记账吗
  • 1697510302
  • 来料加工原材料计入什么科目
  • windows7中右键的作用
  • w10系统怎么连接
  • 企业所得税可以税前扣除的
  • 电脑非法关机后开机进不了系统
  • 新准则交易性金融资产
  • 软件测评费用标准
  • 公司已开工程发票怎么开
  • 企业的税收优惠政策有哪些
  • wordpress使用
  • 极路由怎么用
  • 处理固定资产时的账务处理
  • 存货的核算方法一次可以选用几个
  • php时间戳相减
  • Thinkphp事务操作实例(推荐)
  • svc语法
  • 合并资产负债表模板
  • vue引入网络js
  • iis部署javaweb
  • 最新windows11安装要求
  • grub-install --target
  • 支付网络服务费属于现金流量表的哪一项
  • mysql分区实现
  • 核销已计提坏账的应收账款
  • 退回以前年度的增值税账务处理
  • 帝国cms8.0
  • 织梦使用手册
  • Spring(十五):Spring整合MyBatis的两种方式
  • 数据库触发器db2什么意思
  • 外商投资企业 外资企业
  • 退回股东投资款现金流怎么选
  • 计提加计抵减
  • 企业应付职工薪酬的会计核算
  • 社区居委会有哪些成员
  • 出口退税没有及时申报
  • 受疫情影响较大的困难行业企业2020
  • 租赁费计提印花税税率
  • 公司私营企业
  • sql server 不存在或者拒绝访问
  • u盘装机大师手机下载电脑版
  • vmware10虚拟机安装
  • 在linux系统中命令
  • dll进程
  • windows xp删除所有数据
  • winxp win10哪个快
  • ubuntu开发板
  • hp是什么软件缩写
  • freelibrary 程序崩溃
  • window1020h2
  • windows7 cpu使用率高
  • win8wifi设置在哪
  • css中文手册
  • ready jquery
  • 陕西国税电子税务局端还可以登录吗
  • 河南省地方税务局房产税管理办法
  • 深圳买新房契税一般什么时候交比较好
  • 住房公积金交纳的原则
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设