vue面试题8|[2024-11-14]

news2024/12/27 11:06:35

问题1:什么是渐进式框架?

vue.js        router        vuex        element        ...插件

vue.js 渐0        router 渐1        vuex 渐2

vue.js只是一个核心库,比如我再添加一个router或者vuex,不断让项目壮大,就是渐进式框架带来的好处。 

问题2:vue2.x生命周期

1.有哪些生命周期

        系统自带(8个):

                beforeCreate

                created

                beforeMount

                mounted

                beforeUpdate

                updated

                beforeDestroy

                destroyed 

2.一旦进入到页面或者组件,会执行哪些生命周期,顺序是什么?

          beforeCreate

          created

          beforeMount

          mounted

3.在哪个阶段有$el,在哪个阶段有$data

          beforeCreate 啥也没有

          created          有data,没有el

          beforeMount  有data,没有el

          mounted         都有

4.如果加入keep-alive会多两个生命周期

        activated、deactivated

5.如果加入了keep-alive,第一次进入组件会执行哪些生命周期?        

        beforeCreate

        created

        beforeMount

        mounted

        activated

6.如果加入了keep-alive,第二次或第N次进入组件会执行哪些生命周期?

        只执行一个生命周期:activated

7.场景

8043e52f9fa24287bb7f528f0cb3fc67.png

8.源码

class Vue{
    constructor(option){
        options.beforeCreate.bind(this)()

        this.$data = options.data

        options.created.bind(this)()
        options.beforeMount.bind(this)()
        
        this.$el = document,querySelector(options.el)

        options.mounted.bind(this)()
    }
}

 问题3:谈谈你对keep-alive的了解

1.是什么

        是vue系统自带的一个组件,功能:是用来缓存组件的。  ====>  提升性能

2.使用场景

        就是用来缓存组件,提升项目的性能。具体实现比如:首页进入到详情页,如果用户在首页每次点击都是相同的,那么详情页就没有必要请求N次了,直接缓存起来就可以了,当然如果点击的不是同一个,那么就直接请求。

问题4:v-if和v-show区别

1.展示形式不同

        v-if是创建一个dom节点

        v-show是display:none、 block

2.使用场景不同

        初次加载v-if要比v-show好,页面不会多加载盒子

        频繁切换v-show要比v-if好,创建和删除的开销太大了,显示和隐藏的开销较小

 问题5:v-if和v-for优先级

v-for的优先级高于v-if

***是在源码中体现的:function getElement

9512858b5ea94640a70ad4df9ee3a399.jpeg

问题6:ref是什么?

来获取dom的

<img ref='imgs' src='../assets/logo.png' id='img'>

mounted(){
    console.log(document.getElementById('img')) // 一种获取dom的方式
    console.log(this.$refs.imgs)
}

问题7:nextTick是什么?

来获取更新后的dom内容

对于组件,是先执行同步的,再执行异步的

created(){
    console.log(11)
    this.$nextTick(() => {
        console.log(333)
    })
}

mounted(){
    conosle.log(22)
    this.$nextTick(() => {
        console.log(444)
    })
}

// 输出的结果为
11
22
333
444

 组件中会出现这样的情况:数据更新了,但是视图没有更新

<button @click='btn' ref='box'> {{ str }} </button>

data(){
    return {
        str: '123'
    }
}

methods:{
    btn () {
        this.str = 'bbbbbb'
        console.log(this.$refs.box.innerHTML)  // '123',这里获取的是视图里面的数据,视图还没有更新
        // 使用$nextTick就可以解决这个问题,获取更新后的dom数据
        this.$nextTick(() => {
            console.log(this.$refs.box.innerHTML)  // 'bbbbbb'
        })
    }
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2241484.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

web与网络编程

使用HTTP协议访问Web 通过发送请求获取服务器资源的Web浏览器等&#xff0c;被成为客户端(client)。 Web使用一种名为HTTP(超文本传输协议)的协议作为规范&#xff0c;完成从客户端到服务器端等一系列运作流程。 可以说&#xff0c;Web时建立在HTTP协议上通信的。 网络基础T…

docker 部署freeswitch(非编译方式)

一&#xff1a;安装部署 1.拉取镜像 参考&#xff1a;https://hub.docker.com/r/safarov/freeswitch docker pull safarov/freeswitch 2.启动镜像 docker run --nethost --name freeswitch \-e SOUND_RATES8000:16000 \-e SOUND_TYPESmusic:en-us-callie \-v /home/xx/f…

opencv kdtree pcl kdtree 效率对比

由于项目中以一个环节需要使用kdtree ,对性能要求比较严苛&#xff0c;所以看看那个kdtree效率高一些。对比了opencv和pcl。 #include <array> #include <deque> #include <fstream> #include <opencv2/highgui.hpp> #include <opencv2/imgproc.hpp…

ab (Apache Bench)的使用

Apache Bench&#xff08;ab&#xff09;是一个用于基准测试HTTP Web服务器的命令行工具&#xff0c;广泛用于评估和优化Web服务器的性能。以下是关于Apache Bench的详细介绍&#xff0c;包括其功能、使用方法、常用参数和输出结果解析。 功能 性能测试&#xff1a;通过模拟多…

【数据分享】全国农产品成本收益资料汇编(1953-2024)

数据介绍 一、《全国农产品成本收益资料汇编 2024》收录了我国2023年主要农产品生产成本和收益资料及 2018年以来六年的成本收益简明数据。其中全国性数据均未包括香港、澳门特别行政区和台湾省数据。 二、本汇编共分七个部分,即:第一部分,综合;第二部分,各地区粮食、油料;第…

基于OpenCV的图片人脸检测研究

目录 摘要 第一章 引言 第二章 基于 OpenCV 的图片人脸检测 2.1 实现原理 2.2 代码实现与分析 2.3 代码详细分析 第三章 实验结果与分析 第四章 OpenCV 人脸检测的优势与局限性 4.1 优势 4.2 局限性 第五章 结论 第六章 未来展望 参考文献 摘要 人脸检测是计算机视…

BI(Bilinear interpolation)双线性插值实现上采样

在深度学习中 上采样是将图像放大 如上图所示 要求放大后的图像坐标(2,1)处的像素值 要找到目标图像中对应的原图像素 需要与扩大前和扩大后的边长比相乘得到一个坐标(1.5,0.75) 对应原图中没有一个像素点是重合的 蓝色框框的像素值与红色框框的四个点的像素值有关 相关的计算方…

多模态大模型简介

多模态大模型是机器学习领域的一个新兴趋势&#xff0c;它结合了文本、图像、音频等多种数据模态&#xff0c;以实现更全面和深入的信息理解和处理。这种模型能够处理跨模态任务&#xff0c;如图像标注、视觉问答、文本到图像的生成等&#xff0c;是人工智能领域的重要进展。 技…

Python 正则表达式的一些介绍和使用方法说明(数字、字母和数字、电子邮件地址、网址、电话号码(简单)、IPv4 )

## 正则表达式的概念和用途 正则表达式&#xff08;Regular Expression&#xff0c;简称Regex&#xff09;是对字符串操作的一种逻辑公式&#xff0c;由一些事先定义好的特定字符以及这些特定字符的组合所构成。这些特定字符及其组合被用来描述在搜索文本时要匹配的一个或多个…

java排序算法汇总

一、排序算法我介绍 1.1、介绍 排序也称排序算法(Sort Algorithm)&#xff0c;排序是将一组数据&#xff0c;依指定的顺序进行排列的过程。 1.2、排序的分类&#xff1a; 1) 内部排序&#xff1a;指将需要处理的所有数据都加载到内部存储器中进行排序。 2) 外部排序法&…

Ubuntu22.04.2 k8s部署

k8s介绍 简单介绍 通俗易懂的解释&#xff1a; Kubernetes&#xff08;也被称为 K8s&#xff09;就像是一个大管家&#xff0c;帮你管理你的云计算服务。想象一下&#xff0c;你有很多个小程序&#xff08;我们称之为“容器”&#xff09;&#xff0c;每个都在做不同的事情&…

FastGPT部署通义千问Qwen和智谱glm模型|OneAPI配置免费的第三方API

继这篇博客之后 从零开始FastGPT本地部署|Windows 有同学问&#xff0c;不想在多个平台申请API-Key&#xff0c;不好管理且要付费&#xff0c;有木有白嫖方案呀&#xff1f; 答&#xff1a;有啊。用硅基流动。 注册方法看这篇 【1024送福利】硅基流动送2000万token啦&#xff0…

每日OJ题_牛客_DP36 abb_C++_Java

目录 牛客_DP36 abb 题目解析 C代码1暴力 C代码2DP Java代码 牛客_DP36 abb abb_牛客题霸_牛客网 描述&#xff1a; leafee 最近爱上了 abb 型语句&#xff0c;比如“叠词词”、“恶心心” leafee 拿到了一个只含有小写字母的字符串&#xff0c;她想知道有多少个 &quo…

Redis五大基本类型——String字符串命令详解(命令用法详解+思维导图详解)

目录 一、String字符串类型介绍 二、常见命令 1、SET 2、GET 3、MGET 4、MSET 使用MGET 和 使用多次GET的区别 5、DEL 6、SETNX SET、SET NX和SET XX执行流程 7、INCR 8、INCRBY 9、DECR 10、DECYBY 11、INCRBYFLOAT 12、APPEND 13、GETRANGE 14、SETRANGE …

Dubbo 3.x源码(25)—Dubbo服务引用源码(8)notify订阅服务通知更新

基于Dubbo 3.1&#xff0c;详细介绍了Dubbo服务的发布与引用的源码。 此前我们学习了接口级的服务引入订阅的refreshInterfaceInvoker方法&#xff0c;当时还有最为关键的notify服务通知更新的部分源码没有学习&#xff0c;本次我们来学习notify通知本地服务更新的源码。 Dubb…

STM32+AI语音识别智能家居系统

基于 STM32 和 AI 语音识别的智能家居系统的详细硬件和软件设计&#xff0c;包括各个模块的详细描述和代码示例。 一、硬件设计 1. 微控制器&#xff08;STM32&#xff09;&#xff1a; 选择 STM32F7 系列或更高性能的芯片&#xff0c;如 STM32F767ZIT6&#xff0c;以满足处理…

飞凌嵌入式RK3576核心板已适配Android 14系统

在今年3月举办的RKDC2024大会上&#xff0c;飞凌嵌入式FET3576-C核心板作为瑞芯微RK3576处理器的行业首秀方案重磅亮相&#xff0c;并于今年6月率先量产发货&#xff0c;为客户持续稳定地供应&#xff0c;得到了众多合作伙伴的认可。 FET3576-C核心板此前已提供了Linux 6.1.57…

elementUI input 禁止内容两端存在空格,或者是自动去除两端空格

需求 项目中有需求&#xff1a;输入框中禁止内容两端存在空格&#xff0c;或者是自动去除两端空格。 解决方法 vue的api文档中有过介绍&#xff0c;使用.trim可以去掉用户输入内容中两端的空格&#xff0c;如下图 代码 <el-input v-model.trim"name" cleara…

初识算法 · 位运算(end)

目录 前言&#xff1a; 题目解析 算法原理 算法编写 前言&#xff1a; 本文作为初识算法 位运算的最后一篇文章&#xff0c;使用一道hard题目来结束这个专题&#xff0c;题目的链接为&#xff1a; 面试题 17.19. 消失的两个数字 - 力扣&#xff08;LeetCode&#xff09;…

3. Spring Cloud Eureka 服务注册与发现(超详细说明及使用)

3. Spring Cloud Eureka 服务注册与发现(超详细说明及使用) 文章目录 3. Spring Cloud Eureka 服务注册与发现(超详细说明及使用)前言1. Spring Cloud Eureka 的概述1.1 服务治理概述1.2 服务注册与发现 2. 实践&#xff1a;创建单机 Eureka Server 注册中心2.1 需求说明 图解…