【Vue/基础知识】Vue基础知识(一)
如果觉得我的分享有一定帮助,欢迎关注我的微信公众号 “码农的科研笔记”,了解更多我的算法和代码学习总结记录。或者点击链接扫码关注 【Vue/基础知识】Vue基础知识(一)
1、v-show 和 v-if 指令的共同点和不同点?
共同点:v-show 和 v-if 都是 Vue 模板指令,都用于控制组件或元素的显示或隐藏。
不同点:v-show 只是简单的控制元素的 display 属性,而不是将元素从 DOM 中移除,因此在切换显示和隐藏时,元素的状态并不会改变。v-if 则是根据表达式的真假值来切换元素的显示状态,如果表达式为 false,则元素会被移除,如果表达式为 true,则会重新渲染该元素。因此,v-if 更适用于需要频繁切换显示和隐藏的情况,而 v-show 则更适用于一开始就需要显示或隐藏的情况。
2、如何让CSS只在当前组件中起作用?
可以使用 CSS 的作用域限定来实现。在组件的 <style>
标签中使用 scoped 属性即可让该样式只在当前组件中起作用。例如:
<template><div class="my-component"></div>
</template><script>
export default {name: 'MyComponent',
}
</script><style scoped>
.my-component {/* 这里的样式只会作用于 MyComponent 组件内的元素 */
}
</style>
3、keep-alive 的作用是什么?
<keep-alive></keep-alive>
是 Vue 内置组件,用于缓存组件的实例,从而避免多次创建和销毁组件的开销。当包裹动态组件时,<keep-alive>
会在组件切换时保留该组件的状态,而不是重新渲染该组件。常见的用法是将需要缓存的组件包裹在 <keep-alive>
标签中,如下所示:
<template><div><keep-alive><component :is="currentComponent"></component></keep-alive></div>
</template><script>
export default {data() {return {currentComponent: 'ComponentA',}},
}
</script>
4、如何获取dom?
可以使用 Vue 的 $refs
属性来获取组件中的 DOM 元素。在模板中给需要获取的元素添加 ref
属性,然后在组件中通过 this.$refs
对象来获取该元素的引用。例如:
<template><div><input ref="myInput" type="text" /></div>
</template><script>
export default {methods: {doSomething() {const inputElement = this.$refs.myInput// 这里可以对 inputElement 进行操作}},
}
</script>
5、说出几种vue当中的指令和它的用法
常用的 Vue 指令包括:
- v-if:根据表达式的真假值来切换元素的显示状态;
- v-for:根据数组或对象的内容来渲染列表或表格;
- v-bind:用于动态绑定 HTML 属性或组件的 prop;
- v-on:用于监听 DOM 事件或自定义事件;
- v-model:用于双向绑定表单元素的值;
- v-show:用于控制元素的显示或隐藏;
- v-cloak:用于防止页面闪动,与 CSS 配合使用。
6、vue-loader是什么?使用它的用途有哪些?
vue-loader 是一个 Webpack 的 loader,用于解析 .vue
文件。它可以将一个 .vue
文件解析成一个 Vue 组件对象,并将其编译成 JavaScript。使用 vue-loader 可以使得我们在单文件组件中编写组件的 HTML 模板、CSS 样式和 JavaScript 代码,从而让组件更加独立和可维护。vue-loader 还可以实现 CSS 模块化和 Scoped CSS 等功能。
7、为什么使用key?
在使用 v-for 指令渲染列表或表格时,为了提高渲染性能,Vue 会尽可能地复用已经存在的元素,而不是重新创建和销毁元素。但是,如果数组中的某个元素的位置发生变化,Vue 会把该元素从原来的位置移动到新的位置,而不是销毁和创建新的元素。这样可以避免频繁的 DOM 操作,提高渲染性能。
然而,在某些情况下,需要对数组中的某个元素进行增删操作,从而导致某个元素的 key 发生变化。如果没有设置 key,Vue 无法判断哪些元素是已经存在的,哪些是需要新创建的,从而可能导致渲染错误。因此,设置 key 可以帮助 Vue 更好地跟踪数组中元素的变化,从而正确地进行渲染。
8、v-modal的使用
v-model 是 Vue 中常用的一个指令,用于实现表单元素和数据之间的双向绑定。v-model 可以简化表单元素的值的获取和设置,同时也能够自动监听表单元素的变化并更新数据。v-model 可以用于 input、select、textarea 等表单元素,例如:
<template><div><input v-model="message" type="text" /><p>Message: {{ message }}</p></div>
</template><script>
export default {data() {return {message: '',}},
}
</script>
9、分别简述computed和watch的使用场景
computed 和 watch 都是 Vue 中用于监听数据变化的方法,但是它们的使用场景有所不同。
computed 用于计算属性,当需要对某个数据进行复杂的计算或格式化时,可以使用 computed 方法来获取计算结果。computed 方法可以缓存计算结果,只有当依赖的数据发生变化时,才会重新计算。computed 方法类似于一个属性,可以在模板中直接使用。
例如,可以定义一个计算属性 fullName,用于计算用户的全名:
<template><div><p>First name: {{ firstName }}</p><p>Last name: {{ lastName }}</p><p>Full name: {{ fullName }}</p></div>
</template><script>
export default {data() {return {firstName: 'John',lastName: 'Doe',}},computed: {fullName() {return this.firstName + ' ' + this.lastName},},
}
</script>
watch 用于监听数据的变化,当某个数据发生变化时,可以执行一些逻辑或异步操作。watch 方法类似于一个监听器,可以监听一个或多个数据的变化。
例如,可以定义一个 watch 方法,用于监听用户的搜索关键字,当关键字发生变化时,可以发送请求获取搜索结果:
<template><div><input v-model="search" type="text" /><ul><li v-for="item in searchResult" :key="item.id">{{ item.title }}</li></ul></div>
</template><script>
export default {data() {return {search: '',searchResult: [],}},watch: {search(newVal, oldVal) {// 发送请求获取搜索结果fetch('https://example.com/api/search?query=' + newVal).then(response => response.json()).then(data => {this.searchResult = data.results})},},
}
</script>
10、v-on可以监听多个方法吗?
可以监听多个方法。在 v-on 指令中,可以使用逗号分隔多个方法。例如:
<button v-on:click="handleClick, handleAnotherClick">Click me</button>
11、v-if和v-for的优先级
在同一个元素上,v-for 指令的优先级高于 v-if 指令。这意味着,如果一个元素同时有 v-if 和 v-for 指令,那么 v-for 指令会先被执行,然后在循环中根据 v-if 的条件进行筛选。
12、vue常用的修饰符
Vue 中常用的修饰符有以下几种:
- .prevent:阻止默认事件;
- .stop:阻止事件冒泡;
- .capture:使用事件捕获模式;
- .self:只当事件在该元素本身(而不是子元素)触发时触发回调;
- .once:只触发一次回调;
- .passive:告诉浏览器该事件监听器不会调用
- .preventDefault(),可以优化页面滚动性能。
13、vue中 :is 作用
在 Vue 中,:is
是一个动态组件的特殊属性,用于在运行时动态地绑定组件类型。
通常,我们在模板中使用组件时会这样写
<template><div><my-component></my-component></div>
</template>
使用:is
后我们可以这样写:
<template><div><component :is="componentType"></component></div>
</template>
这里的componentType是一个在组件实例中定义的计算属性或者 data,它的值可以是任何组件的名称。
通过这种方式,可以在不同的组件之间切换,从而实现动态的组件渲染。
注意,当使用:is
时,需要在组件名前添加前缀,例如:
<component :is="'my-' + componentName"></component>
这样做是因为在某些情况下,Vue 会将组件名解释为原生 HTML 元素,例如<table>、<tr>
等,所以需要添加前缀以明确告诉 Vue 这是一个组件名。
相关文章:

【Vue/基础知识】Vue基础知识(一)
如果觉得我的分享有一定帮助,欢迎关注我的微信公众号 “码农的科研笔记”,了解更多我的算法和代码学习总结记录。或者点击链接扫码关注 【Vue/基础知识】Vue基础知识(一) 1、v-show 和 v-if 指令的共同点和不同点? 共…...

Iceberg实战踩坑指南
第 1 章 介绍 Apache Iceberg 是一种用于大型分析数据集的开放表格,Iceberge 向 Trino 和 Spark 添加了使用高性能格式的表,就像 Sql 表一样。 Iceberg 为了避免出现不变要的一些意外,表结构和组织并不会实际删除,用户也不需要特…...

预告|2月25日 第四届OpenI/O 启智开发者大会昇腾人工智能应用专场邀您共启数字未来!
如今,人工智能早已脱离科幻小说中的虚构想象,成为可触及的现实,并渗透到我们的生活。随着人工智能的发展,我们正在迎来一个全新的时代——数智化时代。数据、信息和知识是这个时代的核心资源,而人工智能则是这些资源的…...

UnRaid虚拟机安装OpenWrt软路由
文章目录0、前言1、Openwrt虚拟机安装1.1、前提,需要先在UnRaid中开启虚拟机:1.2、下载OpenWrt虚拟机镜像并上传至UnRaid共享文件夹1.3、创建OpenWrt虚拟机2、开启并设置OpenWrt虚拟机2.1、修改OpenWrt管理ip2.2、OpenWrt的上网设置0、前言 最近折腾了很…...

开发日记-lombok
开发日记-lombok环境问题解决方案:1 Data注解失效 无法正常生成 get和set方法2 RequiredArgsConstructor(onConstructor _(Lazy)) 符号_无法识别环境 idea2020.1lombok1.18.24jdk1.8 问题 Data注解失效 无法正常生成 get和set方法RequiredArgsConstructor(onCons…...

Web3中文|2023年zk赛道爆发,即将推出的Polygon zkEVM有多重要?
2月15日,以太坊第2层解决方案提供商Polygon终于公布了备受期待的扩展更新,其零知识以太坊虚拟机(zkEVM)主网的测试版定于3月27日发布。 据官方消息报道,自去年10月上线测试网以来,已取得许多重要的里程碑&…...

【自然语言处理】主题建模:Top2Vec(理论篇)
主题建模:Top2Vec(理论篇)Top2Vec 是一种用于 主题建模 和 语义搜索 的算法。它自动检测文本中出现的主题,并生成联合嵌入的主题、文档和词向量。 算法基于的假设:许多语义相似的文档都可以由一个潜在的主题表示。首先…...

【ICLR 2022】重新思考点云中的网络设计和局部几何:一个简单的残差MLP框架
文章目录RETHINKING NETWORK DESIGN AND LOCAL GEOMETRY IN POINT CLOUD: A SIMPLE RESIDUAL MLP FRAMEWORKPointMLP残差点模块几何仿射模块精简版模型:PointMLP-elite实验结果消融实验RETHINKING NETWORK DESIGN AND LOCAL GEOMETRY IN POINT CLOUD: A SIMPLE RESI…...
《MySQL学习》 count(*) 原理
一 . count(*)的实现方式 MyISAM 引擎把一个表的总行数存在了磁盘上,因此执行 count() 的时候会直接返回这个数,效率很高; 而 InnoDB 引擎就麻烦了,它执行 count(*) 的时候,需要把数据一行一行…...

时间序列数据预测的类型
本文主要内容是使用LSTM网络进行不同类型的时间序列预测任务,不涉及代码,仅仅就不同类型的预测任务和数据划分进行说明。 参考文章:https://machinelearningmastery.com/how-to-develop-lstm-models-for-time-series-forecasting/ 注…...

sk_buff结构体成员变量说明
一. 前言 Socket Buffer的数据包在穿越内核空间的TCP/IP协议栈过程中,数据内容不会被修改,只是数据包缓冲区中的协议头信息发生变化。大量操作都是围绕sk_buff结构体来进行的。 sk_buff结构的成员大致分为3类:结构管理域,常规数据…...

springbatch设置throttle-limit参数不生效
背景描述 当springbatch任务处理缓慢时,就需要使用多线程并行处理任务。 参数throttle-limit用于控制当前任务能够使用的线程数的最大值。 调整throttle-limit为10时,处理线程只有8,再次增大throttle-limit值为20,处理线程依旧为…...

用 tensorflow.js 做了一个动漫分类的功能(一)
前言:浏览某乎网站时发现了一个分享各种图片的博主,于是我顺手就保存了一些。但是一张一张的保存实在太麻烦了,于是我就想要某虫的手段来处理。这样保存的确是很快,但是他不识图片内容,最近又看了 mobileNet 的预训练模…...
看完这篇Vue-element-admin,跟面试官聊骚没问题
Vue-element-admin vue-element-admin 是一个后台前端解决方案,它基于 vue 和 element-ui实现。它使用了最新的前端技术栈,内置了 i18 国际化解决方案,动态路由,权限验证,提炼了典型的业务模型,提供了丰富…...

2022年全国职业院校技能大赛(中职组)网络安全竞赛试题A(5)
目录 模块A 基础设施设置与安全加固 一、项目和任务描述: 二、服务器环境说明 三、具体任务(每个任务得分以电子答题卡为准) A-1任务一 登录安全加固(Windows) 1.密码策略 a.密码策略必须同时满足大小写字母、数…...

基于Java+SpringBoot+Vue+Uniapp前后端分离商城系统设计与实现
博主介绍:✌全网粉丝3W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战✌ 博主作品:《微服务实战》专栏是本人的实战经验总结,《Spring家族及…...
新建ES别名 添加别名 切换别名
# 查询别名指向到哪个索引 GET bebd_factory_search/_alias # 查询这个索引使用了什么别名 GET bebd_factory_search_1588250935622/_alias # 删除索引 DELETE bebd_factory_search_1588250935622 # 新建别名 POST /_aliases { "actions": [ { "ad…...

MySQL —— 内外连接
目录 表的内外连接 一、内连接 二、外连接 1. 左外连接 2. 右外连接 表的内外连接 表的连接分为内连和外连 一、内连接 内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选,我们前面博客中的查询都是内连接,也是在开发过程中使用的最多…...
EXCEL中文本和数字的相互转换方法
将EXCEL中存为文本的数字转换成数字 如果在 Excel 中,将数字存储为文本格式,可以通过以下步骤将其转换为数字: 选中需要转换格式的单元格或者整列;右键单击,选择“格式单元格”;在弹出的对话框中选择“常…...

React源码分析6-hooks源码
本文将讲解 hooks 的执行过程以及常用的 hooks 的源码。 hooks 相关数据结构 要理解 hooks 的执行过程,首先想要大家对 hooks 相关的数据结构有所了解,便于后面大家顺畅地阅读代码。 Hook 每一个 hooks 方法都会生成一个类型为 Hook 的对象ÿ…...
变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析
一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...

19c补丁后oracle属主变化,导致不能识别磁盘组
补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望
文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...

Python:操作 Excel 折叠
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...

SCAU期末笔记 - 数据分析与数据挖掘题库解析
这门怎么题库答案不全啊日 来简单学一下子来 一、选择题(可多选) 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘:专注于发现数据中…...

DAY 47
三、通道注意力 3.1 通道注意力的定义 # 新增:通道注意力模块(SE模块) class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

【JVM】- 内存结构
引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...
大数据学习(132)-HIve数据分析
🍋🍋大数据学习🍋🍋 🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言Ǵ…...