Vue了解
MVVM和MVC区别是什么?
MVC : 传统的设计模式。
设计模式: 一套广泛被使用的开发方式
M: model 模型
模型:就是数据的意思
V : view视图
视图:就是页面的意思
C:controller控制器
控制器:在这里写js业务逻辑,把数据M 渲染到 视图 V (有点类似于我们之前学习的,把数据渲染到页面)
MVVM: Vue所使用的设计模式
MVVM,一种软件架构模式,决定了写代码的思想和层次
M: model数据模型 (data里定义)
V: view视图 (页面标签)
VM: ViewModel视图模型 (vue.js源码)
MVVM通过数据双向绑定让数据自动地双向同步 不再需要操作DOM
V (修改视图) -> M(数据自动同步)
M(修改数据) -> V (视图自动同步)
为什么说VUE是一个渐进式的javascript框架, 渐进式是什么意思?
VUE允许你将一个网页分割成可复用的组件,每个组件都包含属于自己的HTML、CSS、JAVASCRIPT以用来渲染网页中相应的地方。对于VUE的使用可大可小,它都会有相应的方式来整合到你的项目中。所以说它是一个渐进式的框架。VUE是响应式的(reactive)这是VUE最独特的特性,也就是说当我们的数据变更时,VUE会帮你更新所有网页中用到它的地方。
Vue的生命周期方法有哪些?一般在哪一步发送请求?
beforeCreate 在实例初始化之后,数据观测(data observe)和 event/watcher 事件配置之前被调用。在当前阶段 data、methods、computed 以及 watch 上的数据和方法都不能被访问。
created 实例已经创建完成之后被调用。在这一步,实例已经完成以下的配置:数据观测(data observe ),属性和方法的运算,watch/event 事件回调。这里没有 $el,如果非要想与 DOM 进行交互,可以通过vm.$nextTick 来访问 DOM。
beforeMount 在挂载开始之前被调用:相关的 render 函数首次被调用。
mounted 在挂载完成后发生,在当前阶段,真实的 Dom 挂载完毕,数据完成双向绑定,可以访问到 Dom节点。
beforeUpdate 数据更新时调用,发生在虚拟 DOM 重新渲染和打补丁 (patch)之前。可以在这个钩子中进一步地更改状态,这不会触发附加的重渲染过程。(数据修改页面未修改)
updated 发生在更新完成之后,当前阶段组件 Dom 已经完成更新。要注意的是避免在此期间更新数据,因为这个可能导致无限循环的更新,该钩子在服务器渲染期间不被调用。
beforeDestroy 实例销毁之前调用。在这一步,实例仍然完全可用。我们可以在这时进行 善后收尾工作,比如清除定时器。
destroyed Vue实例销毁后调用。调用后,Vue实例指示的东西都会解绑定,所有的事件监听器会被移除,左右的子实例也会被销毁,该钩子在服务器端渲染不被调用。
异步请求在哪一步发起?
可以在钩子函数 created、beforeMount、mounted 中进行异步请求,因为在这三个钩子函数中,data已经创建,可以将服务器端返回的数据进行赋值。
如果异步请求不需要依赖 DOM 推荐加载 created 钩子函数中调用异步请求,因为在 created 钩子函数中调用异步请求有以下优点:
能更快获取到服务端数据,减少页面loading时间;
如果依赖DOM元素:需要再mounted里面进行请求
Vue 中如何进行组件的使用?Vue 如何实现全局组件的注册?
要使用组件,首先需要使用 import 来引入组件,然后在 components 属性中注册组件,之后就可以在模板中使用组件了。
可以使用 Vue.component 方法来实现全局组件的注册。
v-show和v-if的区别
面试官你好,我是这么理解v-if和v-show的。 v-if本质其实是动态的创建 或者 删除元素节点。一般不用频繁切换, 要么显示, 要么隐藏的情况, 我都会用 v-if。因为v-if 是惰性的, 如果初始值为 false, 那么这些元素就直接不创建了, 这样就可以节省一些初始渲染开销。v-show本质是在控制元素的 css 样式,display: none;,一般元素需要频繁的切换显示隐藏, 用 v-show。因为v-if在频繁切换会大量的创建和删除元素, 消耗性能。
Computed 和 Watch 的区别
computed 计算属性 : 依赖其它属性值,并且 computed 的值有缓存,只有它依赖的属性值发生改变,下一次获取 computed 的值时才会重新计算 computed 的值。
watch 侦听器 : 更多的是观察的作用,无缓存性,类似于某些数据的监听回调,每当监听的数据变化时都会执行回调进行后续操作。
运用场景:
当需要进行数值计算,并且依赖于其它数据时,应该使用 computed,因为可以利用 computed 的缓存特性,避免每次获取值时都要重新计算。
当需要在数据变化时执行异步或开销较大的操作时,应该使用 watch,使用 watch 选项允许执行异步操作 ( 访问一个 API ),限制执行该操作的频率,并在得到最终结果前,设置中间状态。这些都是计算属性无法做到的。
Vue中key值作用
面试官你好,我是这么理解key值的,key值的主要作用是给元素添加一个唯一标识符,用于提高vue渲染性能,当data发生变化的时候,vue会使用diff算法来对比新旧虚拟DOM.如果key值相同,才会考虑复用元素.如果key值不同,则会强制更新元素.一般通过给元素key设置为id,来保证vue更新数据的时候可以最大限度复用相同的key值的元素.
v-for指令使用key值几种情况
1. 没有key值(默认是下标) : 不复用,就地更新
2. key值为下标(相当于没设置) : 不复用,就地更新
3. key值是id : 复用相同的key,更新不同的key
总结 : key值优先设置id, 没有id就用下标
axios的请求方式
get请求(常用于获取数据)
post请求(常用于提交表单数据和上传文件)
put请求(对数据进行全部更新)
patch请求(修改部分数据)
delete请求(常用于删除操作(参数可以放在url上也可以和post一样放在请求体中)
注意:axios常根据业务需求需要进行二次封装
为什么避免v-for和v-if在一起使用?
Vue 处理指令时,v-for 比 v-if 具有更高的优先级, 虽然用起来也没报错好使, 但是性能不高, 如果你有5个元素被v-for循环, v-if也会分别执行5次。
相关文章:
Vue了解
MVVM和MVC区别是什么? MVC : 传统的设计模式。 设计模式: 一套广泛被使用的开发方式 M: model 模型 模型:就是数据的意思 V : view视图 视图:就是页面的意思 C:controlle…...
JS 深拷贝浅拷贝
一、浅拷贝 // 假设有一个JSON对象 let originalObject {name: "Alice",age: 25,interests: ["reading", "coding"] };// 将JSON对象赋值给另一个变量 let copiedObject originalObject;// 修改新变量的属性 copiedObject.age 26;// 输出原始…...
设计模式学习之——单例模式
单例模式(Singleton Pattern)是一种创建型设计模式,它确保一个类只有一个实例,并提供一个全局访问点来获取该实例。这个模式的主要目的是控制对象的创建,确保在程序的整个生命周期中,某个类只有一个实例被创…...
Linux Vi/Vim使用 ⑥
掌握 CentOS 7 下的 Vi/Vim 编辑器:从安装到精通 在 CentOS 7 系统的日常运维、编程开发以及各类文本处理场景中,Vi/Vim 编辑器都是不可或缺的得力工具。它以轻量、高效、功能强大著称,虽然初次上手有一定学习门槛,但掌握之后便能…...
【5G】5G技术组件 5G Technology Components
5G的目标设置非常高,不仅在数据速率上要求达到20Gbps,在容量提升上要达到1000倍,还要为诸如大规模物联网(IoT, Internet of Things)和关键通信等新服务提供灵活的平台。这些高目标要求5G网络采用多种新技术…...
Java 学习,字符串比较
Java 字符串比较通常使用 equals() 方法,而不是使用 运算符。因为 运算符,比较的是字符串对象的引用是否相同,而 equals() 方法比较的是字符串的内容是否相同。 使用equals()等方法,比较两个字符串: public class …...
普通算法——二维前缀和
二维前缀和 题目链接:https://www.acwing.com/problem/content/798/ 题目描述: 输入一个 n n n 行 m m m 列的整数矩阵,再输入 q q q 个询问,每个询问包含四个整数 ** x 1 , y 1 , x 2 , y 2 x1,y1,x2,y2 x1,y1,x2,y2 &…...
2024年API接口发展趋势:智能化、自动化引领潮流
随着信息技术的飞速发展,应用程序编程接口(API)已成为现代软件开发的核心组成部分。API作为不同系统之间的桥梁,使得数据、功能和服务能够在各种平台和设备之间无缝流动。在2024年,API接口正经历着一系列显著的变革和发…...
SQL中的通配符:使用LIKE操作符进行模式匹配
在SQL中,LIKE 操作符用于在查询中进行模式匹配。它常用于 WHERE 子句中,以便根据特定模式查找数据。与直接进行精确匹配的 操作符不同,LIKE 允许你使用通配符来对数据进行模糊查询,从而使查询更加灵活和强大。 常见的SQL通配符 …...
数据结构:数组
线性表: 线性表就是数据排成像一条线一样的结构.每个现行表上的数据最多只有前和后两个方向.常见的线性表结构:数组,链表、队列、栈等。 什么是数组: 数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储…...
2022 年“泰迪杯”数据分析技能赛A 题竞赛作品的自动评判
2022 年“泰迪杯”数据分析技能赛A 题竞赛作品的自动评判 完整代码请私聊 博主 一、背景 在各类学科竞赛中,常常要求参赛者提交 Excel 或/和 PDF 格式的竞赛作品。 本赛题以某届数据分析竞赛作品的评阅为背景,要求参赛者根据给定的评分准则和标准答案&a…...
java+ssm+mysql美妆论坛
项目介绍: 使用javassmmysql开发的美妆论坛,系统包含超级管理员,系统管理员、用户角色,功能如下: 用户:主要是前台功能使用,包括注册、登录;查看论坛板块和板块下帖子;…...
MySQL | 尚硅谷 | 第13章_约束
MySQL笔记:第13章_约束 文章目录 MySQL笔记:第13章_约束第13章_约束 1. 约束(constraint)概述1.1 为什么需要约束1.2 什么是约束1.3 约束的分类演示代码 2. 非空约束2.1 作用2.2 关键字2.3 特点2.4 添加非空约束2.5 删除非空约束演示代码 3. 唯一性约束3…...
【Ubuntu】Ubuntu的Desktop(学习/用户使用)和Bit版本(工作)
这篇文章似乎没什么必要写,但想了想还是决定记录一下,也许对新手入坑Ubuntu会有帮助, 事实上也很简单,一个是桌面版本,另一个是字符界面版本。 桌面版:拥有图形桌面 字符界面,易上手ÿ…...
面试之MySQL自增ID耗尽问题的解决方案详解
自增ID耗尽问题的解决方案详解 目录 引言切换到BIGINT分表分库UUID雪花算法(Snowflake)回收已删除的ID其他策略策略选择和实施总结 引言 在现代数据库应用中,自增ID作为主键被广泛使用。随着数据量的不断增长,自增ID耗尽问题逐…...
数据结构第一弹-平衡树
大家好,今天和大家一起分享一下数据结构中的平衡树~ 平衡树是一种特别重要的数据结构,它通过维持树的高度来保证操作的效率,从而在众多数据结构中脱颖而出。我们今天深入探讨平衡树的概念、种类、工作原理以及应用实例。 1. 平衡树简介 平衡…...
k8s二进制部署集群报错
k8s二进制部署的集群 添加node节点之后 部署服务之后出现报错 在该节点上telnet 172.30.0.1 443也不通 其他正常节点telnet是通的 解决办法: 修改kube-proxy的服务配置 systemctl daemon-reload systemctl restart kube-proxy再次telnet通了...
深入了解架构中常见的4种缓存模式及其实现
4种缓存模式 随着应用程序的复杂性日益增加,缓存管理变得至关重要。缓存不仅能有效减轻数据库负载,还能显著提升数据访问速度。选择合适的缓存模式能够在不同的业务场景下发挥出最佳效果。 本文将详细介绍四种常见的缓存模式:Cache-Aside (…...
python pyqt5 优秀的开源项目
目录 1. Qutebrowser 2. Anki 3. Calibre 4. Spyder 5. Leo Editor 6. Trelby 7. Eric IDE 8. Fman 9. Gramps 10. OpenShot 使用 PyQt5 开发的优秀开源项目涵盖了各种应用领域,包括桌面应用、开发工具、教育软件等。以下是一些值得关注的 PyQt5 开源项目: 1. Qut…...
【C++】关系操作符的全面解析与高级应用
博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 💯前言💯关系操作符1.关系操作符的分类与语义2.关系操作符的连用问题3.浮点数比较的精度问题问题示例解决方案 💯总结核心要点 💯小结 💯前言 在…...
Git进行版本控制的VS项目中特定配置
在使用Git进行版本控制的VS(Visual Studio)项目中,通常有一些文件和目录是不需要提交到仓库中的。这些文件通常是编译生成的输出、临时文件、用户特定配置等。为了告诉Git忽略这些文件,你应该编辑或创建一个.gitignore文件&#x…...
Linux Ubuntu 安装配置RabbitMQ,springboot使用RabbitMQ
rabbit-Ubuntu 一篇文章学会RabbitMQ 在Ubuntu上查看RabbitMQ状态可以通过多种方式进行,包括使用命令行工具和Web管理界面。以下是一些常用的方法: 1-使用systemctl命令: sudo systemctl start rabbitmq-server sudo systemctl status ra…...
MongoDB数据建模小案例
MongoDB数据建模小案例 朋友圈评论内容管理 需求 社交类的APP需求,一般都会引入“朋友圈”功能,这个产品特性有一个非常重要的功能就是评论体系。 先整理下需求: 这个APP希望点赞和评论信息都要包含头像信息: 点赞列表,点赞用户的昵称,头像;评论列表,评论用户的昵称…...
基于MATLAB野外观测站生态气象数据处理分析实践应用
1.本课程基于MATLAB语言 2.以实践案例为主,提供所有代码 3.原理与操作结合 4.布置作业,答疑与拓展 示意图: 以野外观测站高频时序生态气象数据为例,基于MATLAB开展上机操作: 1.不同生态气象要素文件的数据读写与批处理…...
《三角洲行动》游戏安全组件运行时发生异常1-0-0,是什么原因?以及要如何解决?
《三角洲行动》游戏安全组件异常1-0-0深度探讨 今天你们安全撤离了吗?在《三角洲行动》这款经典射击游戏里,游戏安全组件运行时发生异常1-0-0的原因及解决方案,并借此机会分享一些有关文件丢失、文件损坏和系统报错等问题的通用解决策略。希…...
VAS1260Q奇力LED驱动芯片DCDC降压恒流可替代Diodes8860
VAS1260Q是一款专为车规级LED照明设计的连续模式电感降压驱动器,能够高效地驱动单个或多个串联LED。它集成了高端输出电流检测电路,并通过外部电阻设置标称平均输出电流,具有高可靠性和宽广的应用场景。 核心技术参数 1. 输入电压范围…...
leetcode-88.合并两个有序数组(易理解)
双指针 为了合并两个已排序的数组 nums1 和 nums2,并将结果存储在 nums1 中,我们可以采用双指针的方式从后向前进行合并。这种方法的好处是可以避免在nums1中移动元素,从而提高效率。 算法步骤 初始化三个指针: p1 指向 nums1 的…...
github操作学习笔记
git开源的分布式版本控制系统: 每次修改文件提交后,都会自动创建一个项目版本 查看git版本看有没有安装成功:git --version 把默认编辑器设置成vim:git config --global core.editor "vim" 1、设置昵称和邮箱ÿ…...
基于Hadoop大数据音乐推荐系统的设计与实现
摘 要 各种主流的音乐平台都为用户提供了的大量的音乐,让他们时刻都能沉浸在音乐的海洋之中。然而,过多的音乐往往使用户眼花缭乱,很难发现他们真正所需要的。一套优秀的推荐系统,可以很好地解决这个问题,既能帮助用户…...
【Linux】冯诺依曼体系结构
目录 一、冯诺依曼体系结构二、冯诺依曼体系结构的基本组成三、关于冯诺依曼体系结构的一些问题结尾 一、冯诺依曼体系结构 冯诺依曼体系结构,也称为普林斯顿结构,是现代计算机设计的基础框架。这一体系结构由数学家冯诺依曼在20世纪40年代提出…...
2025计算机毕设选题推荐【小程序方向】【基础功能+创新点设计】
✅博主介绍:CSDN毕设辅导博主、CSDN认证 Java领域优质创作者 ✅技术范围:主要包括Java、Vue、Python、爬虫、小程序、安卓app、大数据、机器学习等设计与开发。 ✅主要内容:免费功能设计、开题报告、任务书、功能实现、代码编写、论文编写和…...
CSS系列(3)-- 定位与文档流详解
前端技术探索系列:CSS 定位与文档流详解 📍 致读者:掌握页面布局的精髓 👋 前端开发者们, 今天我们将深入探讨 CSS 定位与文档流,这是掌握页面布局的关键所在。通过本文,你将全面理解各种定位…...
【书生大模型实战营】Linux 基础知识-L0G1000
前言:书生大模型实战营是上海人工智能实验室开展的大模型系列实践活动,提供免费算力平台,学员通过闯关式任务,可获得免费算力和存储,助力项目实践。本期是第4期,时间从十一月份开始,持续到十二月…...
小程序IOS安全区域优化:safe-area-inset-bottom
ios下边有一个小黑线,位于底部的元素会被黑线阻挡 safe-area-inset-bottom 一 用法及作用: IOS全面屏底部有小黑线,位于底部的元素会被黑线阻挡,可以使用以下样式: .model{padding-bottom: constant(safe-area-ins…...
STM32-C语言基础知识
C语言基础知识 stdint.h简介 给寄存器某个位赋值 给位6赋值为1流程:先清0,再赋值 带参数的宏定义 建议使用do {…}while(0)来构造宏定义 条件编译 条件编译后面必须跟宏语句,如#if _LED_H 指针使用常见的2大问题 1、未初始化 2、越界使…...
深度和法线纹理
屏幕后期处理效果的基本原理就是当游戏画面渲染完毕后通过获取到该画面的信息进行额外的效果处理 之前的边缘检测、高斯模糊、Bloom、运动模糊等效果都是基于获取当前屏幕图像中的像素信息进行后期处理的 如果仅仅根据像素信息来进行一些效果处理,存在以下问题&…...
21天掌握javaweb-->第11天:前端性能优化与响应式设计
前端性能优化与响应式设计 1. 前端性能优化技巧 1.1 代码分割(Code Splitting) 代码分割是一种将代码拆分成多个较小的包,并在需要时按需加载的技术,这有助于减少初始加载时间,并提高应用程序的响应速度。 实现方法…...
java+ssm+mysql校园物品租赁网
项目介绍: 使用javassmmysql开发的校园物品租赁网,系统包含管理员、用户角色,功能如下: 管理员:用户管理;物品管理(物品种类、物品信息、评论信息);订单管理࿱…...
C#常见错误—空对象错误
System.NullReferenceException:未将对象引用设置到对象的实例 在C#编程中,System.NullReferenceException是一个常见的运行时异常,其错误信息“未将对象引用设置到对象的实例”意味着代码试图访问一个未被初始化或已被设置为null的对象的成…...
GPT系列模型简要概述
GPT-1:(0.117B参数量,0.8B words预训练数据) 动机: 在RNN和Transformer之间,选择了后者。 和《All your need is Attention》翻译模型的Encoder-Decoder架构相比,只保留Decoder,因此去掉了Cross…...
关于睡懒觉
我们经常听到一个词:睡懒觉。 我认为,睡懒觉这个词,是错误的。 人,是需要睡眠的,睡不够,就不会醒。睡够了,自然会醒,也不想继续睡。不信你试试,睡够了,你…...
Spring Data JPA 入门
文章目录 前言、Spring Data JPA 是什么?1、背景2、优势3、Spring Data JPA 和 MyBatis-Plus 对比4、Spring Data JPA 与 JPA 的关系是什么? 一、准备1、依赖引入Spring Boot 框架依赖引入:非 Spring Boot 框架依赖引入: 2、定义实…...
操作系统用户界面
实验目的: LINUX操作系统提供了图形用户界面和命令行界面,本实验主要熟悉命令行界面,为后续的实验编程做准备。 二、实验内容: 写出每个命令的功能及格式 1、有关目录和文件操作的命令 1.1cat 功能: 1.一次显示整…...
区块链dapp 开发详解(VUE3.0)
1、安装metamask 插件。 2、使用封装的工具包: wagmi . 3、 wagmi 操作手册地址:connect | Wagmi 4、注意事项: 因为最初是react 版本,所以在VUE版的官方文档有很多地方在 import 用的是 wagmi,需要改为 wagmi/vue 。 连接成功后打印的内容如下&…...
BTC密码学原理
文章目录 比特币的密码学基础哈希函数(Hash Function)非对称加密(Asymmetric Cryptography)数字签名(Digital Signature) 工作量证明(Proof of Work)区块链技术的密码学保障区块链的…...
【NLP 9、实践 ① 五维随机向量交叉熵多分类】
目录 五维向量交叉熵多分类 规律: 实现: 1.设计模型 2.生成数据集 3.模型测试 4.模型训练 5.对训练的模型进行验证 调用模型 你的平静,是你最强的力量 —— 24.12.6 五维向量交叉熵多分类 规律: x是一个五维(索引)向量ÿ…...
Linux -文件系统的备份
本文为Ubuntu Linux操作系统- 第九弹~~ 今天接着上文的内容,讲Linux磁盘存储管理最后一部分内容~ 上期回顾:Linux 图形界面工具管理磁盘分区和文件系统 😎黑犀铠甲合体,流星枪之狂瀑扎帖,碎魔伏暴,灭于狂瀑…...
【Linux基础五】Linux开发工具—上(apt和vim)
【Linux基础五】Linux开发工具—上(apt和vim) 1.apt包管理工具2.Linux中的编辑器vim2.1命令模式2.2插入模式2.3底行模式2.4替换模式2.5视图模式2.6多线程操作2.7配置vim 1.apt包管理工具 在 Linux 系统中,软件包管理工具是用户安装、更新和管…...
力扣--LCR 134.Pow(x,n)
题目 实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn)。 示例 1: 输入:x 2.00000, n 10 输出:1024.00000 示例 2: 输入:x 2.10000, n 3 输出:9.2610…...
java抽奖系统(一)2.0
1. 项⽬介绍 1.1 背景 随着数字营销的兴起,企业越来越重视通过在线活动来吸引和留住客⼾。抽奖活动作为⼀种有效的营 销⼿段,能够显著提升⽤⼾参与度和品牌曝光率。于是我们就开发了以抽奖活动作为背景的Spring Boot项⽬,通过这个项⽬提供⼀…...