当前位置: 首页 > news >正文

vue基础知识点

一、Vue

1. 简介

  • Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的 JavaScript 框架

  • 它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型

  • 由个人维护:尤雨溪,华人

  • 官网 Vue.js - 渐进式 JavaScript 框架 | Vue.js

2. 基本使用

Vue的页面使用方式:

  • 在页面中直接引入Vue核心库的js文件

  • 该方式只是为了让开发者在学习Vue语法时可以快速掌握

  • 实际上Vue并不适合直接使用 页面方式进行语法定义,更推荐使用模块化方式

使用步骤:

  1. 获取Vue核心库的js文件

    通过地址 https://cdn.jsdelivr.net/npm/vue/dist/vue.js 下载

  2. 在页面中引入Vue

    <script src="js/vue.js"></script>
  1. 创建Vue实例并应用

3. 调试工具

安装vue-devtools插件,便于在Chrome浏览器中调试vue

步骤:

  1. 打开Chrome浏览器的扩展程序——>更多扩展程序

  2. vue_devtools_6.5.0.crx拖放到扩展程序中

在VSCode中安装Vue相关插件:Vue Language Featuresvue-helper

二、基本交互

1. 插值表达式

语法: {{ }} 由两对大括号组成,称为“Mustache”语法

作用:用于在页面标签中插入值,进行数据的绑定显示,且当值发生变化时标签会重新渲染加载,称为响应式特性,即数据状态同步操作

用法:<标签>{{ Vue对象数据仓库变量|JS表达式|JS内置对象 }}</标签> 只能用在标签中间的内容位置

2. 指令

2.1 简介

指令 (Directives)是用来扩展html标签的功能,以v-作为前缀

2.2 常用指令
指令取值作用
v-textstring更新元素的textContent
v-htmlstring更新元素的innerHTML
v-onFunction | Object | Array | 行内表达式绑定事件监听器,用于事件绑定
v-showany根据表达式的boolean结果,切换元素的 display CSS 属性,控制元素的显示隐藏
v-if、v-else-if、v-elseany根据表达式的boolean结果,执行元素的创建和删除操作,控制元素的显示隐藏
v-forArray | Object | number | string基于数据多次渲染元素或模板块,用于循环数据
v-bindany动态的为标签绑定属性,用于属性绑定

3. 双向数据绑定

v-model双向数据绑定指令

  • 取值:随表单控件类型不同而不同

  • 限制:仅限于表单中可输入或者可选择的元素,如<input><select><textarea>

四、数据控制

1. 计算属性

计算属性(computed)也是用来存储属性数据的,但具有以下特点:

  • 可以对数据进行逻辑处理操作,实现数据包装

  • 计算属性通常依赖于当前Vue对象中的普通属性

  • 当依赖的普通属性发生变化时计算属性也会变化,实现数据监控

2. 监视器

监视器(watch)是用来监视数据的变化,对数据进行监控

new Vue({watch: {变量:function(newValue, oldValue){}, // 监控方法变量:{handler: function(newValue, oldValue){}, // 监控方法deep: true // 开启深度监视}},
})

五、实例属性和方法

1. 简介

通过Vue实例对象可以直接访问的属性和方法,称为实例属性和实例方法

实例属性和方法都以 $ 开头

2. 实例属性

  • vm.$el:当前Vue实例使用的根 DOM 元素

  • vm.$refs:当前Vue实例容器中定义了ref属性的所有 DOM 元素

3. 实例方法

  • vm.$mount:手动挂载Vue实例

  • vm.$destroy:销毁Vue实例,只会销毁vue的实例对象,不会销毁与其关联的页面容器

  • vm.$nextTick:在DOM更新完成后再执行回调函数,一般在修改数据之后使用该方法,以便获取更新后的DOM并操作

六、模板

模板(template)就是定义Vue时指定的页面结构构成

  • 默认使用el选项指定的挂载元素的内容来构成页面模板,同时指定挂载位置

  • 可以使用 template 选项独立定义页面模板,此时el挂载元素的内容将被忽略

七、生命周期

Vue实例从创建到销毁的过程,称为生命周期,共有八个阶段:

  • beforeCreate、created

  • beforeMount 、mounted

  • beforeUpdate、updated

  • beforeDestroy、destroyed

在生命周期的每个阶段都提供了相应的钩子函数,可以在钩子函数中执行操作,控制生命周期的各个阶段

八、组件

1. 简介

Component 组件是可复用的Vue实例,可以将项目中重复出现的页面结构定义为组件

组件会带有一个名称,可以把组件作为自定义元素来使用,相当于是自定义了一个标签

组件分类:

  • 全局组件,在所有Vue实例中都可以使用

  • 局部组件,只能在构建组件的 Vue实例的容器范围内使用

2. 定义组件

通过选项 components:{} 来定义

用法:

new Vue({el: '#app',components: {'comp-a': {template: '<h3>{{ msg }}</h3>',data() {return {msg: "aaa"}}}}
})

九、组件间数据传递

1. 组件间的关系

页面组件的关系结构,是一个由许多组件构成的树状结构,组件间存在着两种关系:父子关系、非父子关系

默认情况下,每个组件实例都是独立的,组件间无法直接访问数据,因此需要进行组件间的数据传递,也称为组件间的通信

2. 父子组件间的数据传递

2.1 父向子传递数据

技术:属性绑定+数据拦截

步骤:

  1. 父组件在调用子组件时,以属性绑定的方式将要传递的数据绑定在子组件标签上

  2. 在子组件对象中,使用props选项声明获取的数据,进行绑定属性的拦截,即接收来自父组件的数据

2.2 子向父传递数据

技术:事件监听+事件触发

步骤:

  1. 父组件在调用子组件时,监听子组件触发的自定义事件,并在父组件中定义回调方法,用来接收数据

  2. 在子组件中使用vm.$emit(事件名,数据)触发自定义事件

相关文章:

vue基础知识点

一、Vue 1. 简介 Vue (读音 /vjuː/&#xff0c;类似于 view) 是一套用于构建用户界面的 JavaScript 框架 它基于标准 HTML、CSS 和 JavaScript 构建&#xff0c;并提供了一套声明式的、组件化的编程模型 由个人维护&#xff1a;尤雨溪&#xff0c;华人 官网 Vue.js - 渐进…...

正则表达式三

运算符的优先级 相同优先级的从左到右计算&#xff0c;不同优先级&#xff0c;优先级高得先运算。从高到低为&#xff1a; 转义字符&#xff1a; 圆括号或方括号&#xff1a;(),[] 限定符&#xff1a;指限定前面元素的次数如&#xff1a;*&#xff0c;,?,{n},{n,},{n,m} 字符…...

MYSQL数据库细节详细分析

MYSQL数据库的数据类型(一般只需要用到这些) 整型类型&#xff1a;用于存储整数值&#xff0c;可以选择不同的大小范围来适应特定的整数值。 TINYINTSMALLINTMEDIUMINTINTBIGINT 浮点型类型&#xff1a;用于存储带有小数部分的数值&#xff0c;提供了单精度&#xff08;FLOA…...

vue 将图片url转base64

<img :src"imgList[0]" width"600" error"handleImageError" alt"0" load"onloadImg" />//当图片加载完成时&#xff0c;将图片url转成base64onloadImg(event) {this.urlTobase64(event.target.src, event.target.alt…...

Unity之XR Interaction Toolkit如何使用XRSocketInteractable组件

前言 在虚拟现实(VR)和增强现实(AR)开发中,交互性是提升用户体验的关键。Unity作为一个领先的游戏开发引擎,提供了多种工具支持VR/AR开发。Unity的OpenXR插件扩展了这一功能,提供了更强大和灵活的交互系统。其中一个非常有用的组件是XRSocketInteractable。本文将详细介…...

flutter3-os:基于flutter3.x+dart3+getx手机版os管理系统

flutter3-os-admin跨平台手机后台OS系统。 原创Flutter3.22Dart3.4Getxfl_chart等技术开发仿ios手机桌面OA管理系统。自研栅格化布局引擎、自定义桌面壁纸、小部件、底部Dock菜单、可拖拽悬浮球等功能。 全新自研栅格化OS菜单布局引擎。 使用技术 编辑器&#xff1a;VScode技术…...

C++ 用数组模拟队列

在C中&#xff0c;使用数组模拟队列通常涉及到两个主要的操作&#xff1a;入队&#xff08;enqueue&#xff09;和出队&#xff08;dequeue&#xff09;。由于数组是一个固定大小的数据结构&#xff0c;当使用数组模拟队列时&#xff0c;需要手动管理队列的头部和尾部位置。以下…...

每日一题34:数据分组之查找每个员工花费的总时间

一、每日一题 表: Employees ------------------- | Column Name | Type | ------------------- | emp_id | int | | event_day | date | | in_time | int | | out_time | int | ------------------- 在 SQL 中&#xff0c;(emp_id, event_day, in_time) 是…...

语言模型解构——Tokenizer

1. 认识Tokenizer 1.1 为什么要有tokenizer&#xff1f; 计算机是无法理解人类语言的&#xff0c;它只会进行0和1的二进制计算。但是呢&#xff0c;大语言模型就是通过二进制计算&#xff0c;让你感觉计算机理解了人类语言。 举个例子&#xff1a;单1&#xff0c;双2&#x…...

前端经验:导出表格为excel并设置样式

应用场景 将网页上的table标签内容导出为excel&#xff0c;并且导出的excel携带样式&#xff0c;比如字色、背景色、对齐等等 实施步骤 必备引入包 npm install xlsx-js-style步骤1&#xff1a;准备好table table可以是已经存在与页面中的&#xff0c;也可以动态创建。 行…...

UFS协议—新手快速入门(二)【5-6】

目录 五、UFS协议栈 六、UFS技术演进与详解 1、UFS应用层 设备管理器 任务管理器 2、UFS传输层 3、UFS互联层 UFS协议—新手快速入门&#xff08;一&#xff09;【1-4】 五、UFS协议栈 UFS&#xff08;Universal Flash Storage&#xff09;协议是针对固态存储设备&…...

手机建站介绍

随着科技的不断进步和移动互联网的普及&#xff0c;手机应用已经成为人们生活中最不可或缺的一部分。而手机建站作为一种新兴技术&#xff0c;在这一领域也有着广泛的应用。本文将为大家介绍手机建站的概念、优势和应用。 什么是手机建站&#xff1f; 手机建站是指将传统的网络…...

windows11 安装cnpm 报错 Error: EPERM: operation not permitted 没权限

全部试过&#xff1a; 您遇到的错误是EPERM: operation not permitted&#xff0c;这意味着npm在尝试重命名文件或目录时缺少必要的权限。这通常与操作系统的权限设置有关。为了解决这个问题&#xff0c;您可以尝试以下几个步骤&#xff1a; 以管理员身份运行命令行&#xff1…...

SQL 如何获取A列相同但是B列不同的数据项

用户表里有两个字段&#xff1a;部门和职位。一个部门可能对应多个职位&#xff0c;多个部门也可能都有同一职位。比如&#xff1a; 部门 职位 财务 部长 财务 副部长 财务 会计 财务 职员 编辑 部长 编辑 副部长 编辑 主编 编辑 副主编 现在想通过筛选&#xff0c;获取职位名称…...

如何在QGIS中加载高清卫星影像?

我们在《如何在GlobalMapper中加载高清卫星影像》一文中&#xff0c;分享了在GlobalMapper中加载卫星影像的方法。 这里再为你分享如何在QGIS中加载高清卫星影像的方法&#xff0c;并可以在文末查看领取软件安装包和图源的方法。 如何加载高清图源&#xff1f; 要在QGIS中在…...

后端返回图片格式乱码

try {const response await request.get(checkCodeUrl.value,{responseType:"arraybuffer"});console.log("验证码请求成功:", response);checkCodeUrl.value data: image/jpeg;base64,${btoa(new Uint8Array(response).reduce((data, byte) > data …...

C++基础编程100题-025 OpenJudge-1.4-05 整数大小比较

更多资源请关注纽扣编程微信公众号 http://noi.openjudge.cn/ch0104/05/ 描述 输入两个整数&#xff0c;比较它们的大小。 输入 一行&#xff0c;包含两个整数x和y&#xff0c;中间用单个空格隔开。 0 < x < 2^32, -2^31 < y < 2^31。 输出 一个字符。 若x &…...

[office] 16种常见的COUNTIF函数公式设置 #笔记#职场发展

16种常见的COUNTIF函数公式设置 1、返回包含值12的单元格数量 COUNTIF(A:A,12) 2、返回包含负值的单元格数量 COUNTIF(A:A,"<0") 3、返回不等于0的单元格数量 COUNTIF(A:A,"<>0") 4、返回大于5的单元格数量 COUNTIF(A:A,">5"…...

spring boot2.7.x遇到问题

validation报错 高版本已移除了validation以来&#xff0c;需手动添加 <dependency><groupId>jakarta.validation</groupId><artifactId>jakarta.validation-api</artifactId> </dependency>mybatis报错 升级版本 <dependency>&…...

Webpack 开发快速入门

WebPack详细入门教程&#xff08;一&#xff09;之简介 Webpack详细入门教程&#xff08;二&#xff09;之安装配置 WebPack详细入门教程&#xff08;三&#xff09;之loader加载器 Webpack详细入门教程&#xff08;四&#xff09;之Source Maps调试 Webpack详细入门教程&#…...

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...

Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理

引言 Bitmap&#xff08;位图&#xff09;是Android应用内存占用的“头号杀手”。一张1080P&#xff08;1920x1080&#xff09;的图片以ARGB_8888格式加载时&#xff0c;内存占用高达8MB&#xff08;192010804字节&#xff09;。据统计&#xff0c;超过60%的应用OOM崩溃与Bitm…...

uniapp 开发ios, xcode 提交app store connect 和 testflight内测

uniapp 中配置 配置manifest 文档&#xff1a;manifest.json 应用配置 | uni-app官网 hbuilderx中本地打包 下载IOS最新SDK 开发环境 | uni小程序SDK hbulderx 版本号&#xff1a;4.66 对应的sdk版本 4.66 两者必须一致 本地打包的资源导入到SDK 导入资源 | uni小程序SDK …...

高考志愿填报管理系统---开发介绍

高考志愿填报管理系统是一款专为教育机构、学校和教师设计的学生信息管理和志愿填报辅助平台。系统基于Django框架开发&#xff0c;采用现代化的Web技术&#xff0c;为教育工作者提供高效、安全、便捷的学生管理解决方案。 ## &#x1f4cb; 系统概述 ### &#x1f3af; 系统定…...

​​企业大模型服务合规指南:深度解析备案与登记制度​​

伴随AI技术的爆炸式发展&#xff0c;尤其是大模型&#xff08;LLM&#xff09;在各行各业的深度应用和整合&#xff0c;企业利用AI技术提升效率、创新服务的步伐不断加快。无论是像DeepSeek这样的前沿技术提供者&#xff0c;还是积极拥抱AI转型的传统企业&#xff0c;在面向公众…...

Java详解LeetCode 热题 100(26):LeetCode 142. 环形链表 II(Linked List Cycle II)详解

文章目录 1. 题目描述1.1 链表节点定义 2. 理解题目2.1 问题可视化2.2 核心挑战 3. 解法一&#xff1a;HashSet 标记访问法3.1 算法思路3.2 Java代码实现3.3 详细执行过程演示3.4 执行结果示例3.5 复杂度分析3.6 优缺点分析 4. 解法二&#xff1a;Floyd 快慢指针法&#xff08;…...

内窥镜检查中基于提示的息肉分割|文献速递-深度学习医疗AI最新文献

Title 题目 Prompt-based polyp segmentation during endoscopy 内窥镜检查中基于提示的息肉分割 01 文献速递介绍 以下是对这段英文内容的中文翻译&#xff1a; ### 胃肠道癌症的发病率呈上升趋势&#xff0c;且有年轻化倾向&#xff08;Bray等人&#xff0c;2018&#x…...

用鸿蒙HarmonyOS5实现国际象棋小游戏的过程

下面是一个基于鸿蒙OS (HarmonyOS) 的国际象棋小游戏的完整实现代码&#xff0c;使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├── …...

Oracle实用参考(13)——Oracle for Linux物理DG环境搭建(2)

13.2. Oracle for Linux物理DG环境搭建 Oracle 数据库的DataGuard技术方案,业界也称为DG,其在数据库高可用、容灾及负载分离等方面,都有着非常广泛的应用,对此,前面相关章节已做过较为详尽的讲解,此处不再赘述。 需要说明的是, DG方案又分为物理DG和逻辑DG,两者的搭建…...

【R语言编程——数据调用】

这里写自定义目录标题 可用库及数据集外部数据导入方法查看数据集信息 在R语言中&#xff0c;有多个库支持调用内置数据集或外部数据&#xff0c;包括studentdata等教学或示例数据集。以下是常见的库和方法&#xff1a; 可用库及数据集 openintro库 该库包含多个教学数据集&a…...