位置: 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实现文件上传下载功能

  • 苹果手机资料库怎么添加音乐(苹果手机资料库视频怎么导入相册)

    苹果手机资料库怎么添加音乐(苹果手机资料库视频怎么导入相册)

  • 手机的保密柜在哪里(手机的保密柜在哪里找)

    手机的保密柜在哪里(手机的保密柜在哪里找)

  • 快手浏览模式没有了(快手找不到浏览设置)

    快手浏览模式没有了(快手找不到浏览设置)

  • 交换机工作在哪一层(交换机工作在哪个环节)

    交换机工作在哪一层(交换机工作在哪个环节)

  • 添加好友显示对方拒收(添加好友显示对方拒绝接收你的消息)

    添加好友显示对方拒收(添加好友显示对方拒绝接收你的消息)

  • 能将计算机运行结果以可见的方式向用户展示的部件是(能将计算机运行结果)

    能将计算机运行结果以可见的方式向用户展示的部件是(能将计算机运行结果)

  • 数据的基本单位(计算机存储数据的基本单位)

    数据的基本单位(计算机存储数据的基本单位)

  • 华为手机网速慢怎么办(华为手机网速慢的调整方法)

    华为手机网速慢怎么办(华为手机网速慢的调整方法)

  • 小米手机下载微信不适配怎么办(小米手机下载微乐家乡麻将)

    小米手机下载微信不适配怎么办(小米手机下载微乐家乡麻将)

  • 小米手环4NFC功能(小米手环4NFC功能介绍以及使用方法)

    小米手环4NFC功能(小米手环4NFC功能介绍以及使用方法)

  • 电脑显卡的重要性(电脑显卡重要还是cpu重要)

    电脑显卡的重要性(电脑显卡重要还是cpu重要)

  • 华为应用宝是干嘛的(华为应用宝app下载)

    华为应用宝是干嘛的(华为应用宝app下载)

  • 滴滴里面的顺风车跟拼车有什么不一样(滴滴里面的顺风车可以拼车吗)

    滴滴里面的顺风车跟拼车有什么不一样(滴滴里面的顺风车可以拼车吗)

  • 手机自带计算器删除了怎么找回来(手机自带计算器怎么恢复)

    手机自带计算器删除了怎么找回来(手机自带计算器怎么恢复)

  • 手机不支持微信运动计步怎么办(什么手机不支持微信)

    手机不支持微信运动计步怎么办(什么手机不支持微信)

  • word目录怎么加一行(word目录怎么加长)

    word目录怎么加一行(word目录怎么加长)

  • 苹果手机怎么查付费项目(苹果手机怎么查询是不是新机)

    苹果手机怎么查付费项目(苹果手机怎么查询是不是新机)

  • iqoo怎么开启游戏按键(iqoo设置游戏)

    iqoo怎么开启游戏按键(iqoo设置游戏)

  • 夏普电视gitv看不了

    夏普电视gitv看不了

  • word文档格式规范有(word文档格式规范案例)

    word文档格式规范有(word文档格式规范案例)

  • PS参考线有什么使用技巧(ps参考线在哪儿)

    PS参考线有什么使用技巧(ps参考线在哪儿)

  • 简述word2013段落的对齐方式(word2013段落在哪里)

    简述word2013段落的对齐方式(word2013段落在哪里)

  • Ipad手电筒怎么用(ipad手电筒怎么找)

    Ipad手电筒怎么用(ipad手电筒怎么找)

  • 苹果手机不用id的后果(苹果手机不用id号怎么下载软件)

    苹果手机不用id的后果(苹果手机不用id号怎么下载软件)

  • bilibili怎样投屏(哔哩哔哩怎样投屏)

    bilibili怎样投屏(哔哩哔哩怎样投屏)

  • ps怎么沿参考线切图?(ps怎么参考线快捷键)

    ps怎么沿参考线切图?(ps怎么参考线快捷键)

  • 出口退税逾期申报说明怎样写
  • 关税是价内税还是税外税
  • 公司购进一台不需要安装的设备设备价款为700万元
  • 代扣代缴增值税是什么意思
  • 营业收入与利润变化图
  • 母公司获得分红怎么做账
  • 所得税在什么情况下扣除
  • 住宿费电子发票样式
  • 对公账户发工资1万要交税吗
  • 货物和运费一起开票怎么开
  • 结转周转材料成本分录
  • 小企业销售商品因批量原因给予客户的商业折扣
  • 进项税额转出要补所得税吗
  • 应付账款明细账模板
  • 小微企业营业外收入税率是多少
  • 事业单位为职工代扣代缴个人所得税
  • 收购企业账务处理
  • 调拨入库的固定资产是否缴税?
  • 违规费用处理
  • 转让金融资产的税率
  • 农产品收购发票上的买价含税吗
  • 加工产品不一定有合理损耗
  • 企业法人和股份的关系
  • 固定资产清理出售合同
  • 个人汽车贷款所购车辆
  • 国税地税纳税申报
  • vmware虚拟机无法打开网页
  • 以前年度费用漏记了怎么办小企业会计准则
  • Win11截图工具怎么设置快捷键
  • 账簿启用及交接表样图
  • win11中文安装包
  • 年营业收入平均增长
  • 预收账款的账务处理摘要
  • 工会费会计分录
  • php网页编程
  • 长期待摊费用的摊销年限有规定吗?
  • yolov3数据集格式
  • lama羊驼
  • 进项发票数据导出
  • 生育保险断缴后果
  • 制造费用月末一般有余额吗
  • 工资与劳务报酬是否合并缴纳个税
  • php判断https
  • mysql5.7设置编码
  • 融资租赁手续费一次性还是摊销
  • 购买材料发票未到如何做账?
  • 建筑企业跨地区经营企业所得税
  • 应税销售额什么意思
  • 研发费用加计扣除的条件
  • 研发费用摊销方法
  • 计提贷款损失准备的意义
  • 公司一年发两次奖金
  • 以旧换新价格怎么确认
  • 代付电费开发票
  • 发票冲销后还能用吗
  • 进项税和销项税怎么理解
  • 固定资产需要具备的条件
  • 提供加工劳务计入什么科目
  • 公司支付劳务工资怎么做账
  • 是不是根据营业执照查询
  • sql字段转首字母大写
  • Windows 2003作中转VPN服务器多路由共享上网的方法
  • xp系统镜像文件怎么制作
  • ubuntu虚拟机怎么用
  • thinkpad8装系统
  • win8界面什么样
  • Win7开机就蓝屏
  • win10如何移动应用程序
  • 在对linux系统中dir
  • win10系统预览版
  • Win10 Mobile RedStone预览版14267已知问题与修复内容汇总
  • 十大经典排序算法总结
  • linux基本命令的使用方法
  • ping命令的基本使用方法
  • javascript教程 csdn
  • 512到底是什么意思
  • 宿豫区国税分局电话
  • 企业所得税到底是卖方承担还是买方承担
  • 国税局巡察整改方案
  • 国地税怎么交
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设