vue基础知识大全
1,指令作用
以v-开头,由vue提供的attribute,为渲染DOM应用提供特殊的响应式行为,也即是在表达式的值发生变化的时候响应式的更新DOM。其内容为可以被求值的js代码,可以写在return后面被返回的表达式。
| 指令 | 简写 | 全写 | 简写 |
| v-bind | :id | <div v-bind:id="a"></div> | <div id:_"a"></div> |
| v-on | @ | <div v-on:click="a"></div> | <div @:click="a"></div> |
| v-slot | # | ||
2,组件是UI重用和组合的基本单位
3,DOM内嵌模板使用时候,名字用小写,即时写为大写,浏览器也会强制为小写,。
4,要在组件中使用响应式,需要使用setup()函数中定义并返回,返回的值在模板中可以使用
setup是一个专门用于组合式api的特殊的钩子函数。在选项式中没有。
这个函数是组合式API的入口。
4.1创建响应式的方法
使用reactive()函数来创建响应式对象或者数组
4.2 使用相应式的方法
使用setup()函数,setup函数没有对组件实例的访问权限,也即是说使用this会报错
4.3 可以使用标签属setup来简化代码
4.4有三种不同的响应式的编程方法。使用标签setup最简单。
4.5 使用场景
4.5.1 非单文件组件中使用组合式api
4.5.2 基于选相识api中调用组合式api
4.6 setup函数的两个参数
| No. | 名称 | |
| 1 | Props | 响应式组件,但是解构的话会失去响应性,请使用props.xxx的形式访问 props'{ title;String }, setup(props){ console.log(props.title) } |
| 2 | context | 上下文 有如下内容(attrs,slots,emit,expose) |
| 3, | expose | 控制该组件可以暴露那些属性 expose();让组件处于关闭状态,不向父组件暴露任何对象 expose({count;publiccount});有选择的向父组件暴露局部状态 |
| 4 | 可以和渲染函数一起使用 return () => h(div,count.value) |
5,vue的生命周期
作用:可以在特定阶段运行自己写的代码
构成(最常用):
| 调用顺序 | 名称 | 被调用阶段 | 作用 | 其他 |
| 1 | beforeCreate | 组件实例初始化后 | data和computed处理之前 | |
| 2 | created | 响应式数据,计算属性,方法,侦听器设置完成后 | 挂在未开始,$el不可用 | |
| 3 | beforeMount | 组件被挂载之前 | wei创建DOM节点 | |
| 4 | mounted | 挂载之后被调用 | ・所有同步子组件被挂载 ・dom树创建完成并插入父容器 | |
| 5 | beforeupdate | 响应式状态影变更,但未更新dom树之前 | 在更新dom树之前访问dom树状态 | |
| 6 | updated | 组件更新dom树后 | 禁止在这个函数中更新组件状态,易早成无限更新循环 | |
| 7 | beforeUnmount | 组件被卸载前调用 | 被调用时候,组件实例还具有全部功能 | |
| 8 | unmounted | 组件实例被卸载后 | ・所有子组件被卸载 ・所有响应式作用停止 |
6,响应式核心API函数
6.1 响应式函数工具
| No | 函数名 | 作用 |
| 1 | ref() | 响应式,可以更改 这个对象只有一个属性值value |
| 2 | computed() | 返回一个只读的响应式ref对象 |
| 3 | reactive() | 返回一个对象的响应式代理 |
| 4, | watch() | 侦听一个或者多个响应式数据源 参数1;一个函数,一个返回值 一个ref 参数2;回调函数 参数3;对象 |
6.2 工具函数
ifref,unref,toRef,isreactive
6.3 组合式的依赖注入
6.3.1 provide 提供一个值可以被后代组件注入(在setup阶段同步调用)
参数1 注入的key
参宿2 要注入的值
6.3.2 inject()
注入一个父组件提供的值
参数1 注入的key ,在父组件中去寻找key,匹配相应的值。
参数2 可选
参数3 如果2为一个函数,那么参数3必须设定未false
7,选项式api
| No | 类型 | 名称 | 作用 | 返回 | 其他 | |
| 1 | 状态类型 | data | 声明组件初始相应状态 | js对象 | this.$data.a this.a 都一个访问 | |
| 2 | props | 需要显示声明 | ||||
| 3 | computed | 组件实例上暴露的计算属性 | ||||
| 4 | methond | 声明要混入到组件实例中的方法。 | 避免使用箭头函数,因为不可以通过this访问实例 | |||
| 5 | watch | 设定数据在变更时调用的侦听回调 | 避免使用箭头函数,因为不可以通过this访问实例 | |||
| 6 | emits | 声明有组件触发的时间 | ||||
| 1 | 渲染选项 | template | 声明组件的字符串模板 | |||
| 2 | render | 用编程式组件虚拟dom树的函数 | ||||
| 3 | compileroptions | 用于配置模板运行时候的编译器选项 | ||||
| 1 | 组合选项 | provide | 被后代组件注入的值 | |||
| 2 | inject | 声明通过从上层提供方匹配并注入当前组件的属性 | ||||
| 3 | mixins | 一个包含组件选项对象的数组,这些选项都将被混入到当前组件的实例中 | ||||
| 4 | extends | 要继承的基类组件。 | ||||
| 1 | 其他项目 | name | 组件展示时候的名称 | |||
| 2 | components | 注册在当前组件实例中可以使用的组件 | ||||
| 3 | directives | 哪些实例中可以使用哪些指令 | ||||
| 1 | 组件实例 | 也就是使用this可以访问的属性和方法 | 除了$data以外,其他均为readonly | |||
| 2 | $data | 从data选项函数中返回的对象 | 响应式 | |||
| 3 | props | 已经解析的props对象 | ||||
| 4 | $el | 该组件实例管理的DOM根节点 | ||||
| 5 | $optioon | 实例化当前组件的组件选项 | ||||
| 6 | $parent | 当前组件的父亲组件 | ||||
| 7 | $root | 当前组件的根组件 | ||||
| 8 | $slots | 父组件所传入的插槽对象, | 通常用于检测是否存在插槽 | |||
| 9 | $refs | 一个包含DOM元素和组件实例的对象 | 通过模板注册使用 | |||
| 10 | $attrs | 包含attributes对象, | 这个attributes由父组件传入, | |||
| 11 | $watch | 用于命令式第创建侦听器的api | 参数1 表达式 参数2 回调函数 | |||
| 12 | $emit() | 触发一个自定义事件 | 任何额外的参数都会传递给事件监听器的回调函数 |
8,指令
| 缩写 | No | 名字 | 类型 | 更新位置 | |
| 1 | v-text | string | 元素文本内容 | ||
| 2 | v-html | string | 元素的innerHTML | ||
| 3 | v-show | any | 依据表达式的结果,来改变元素的可见性 | ||
| 4 | v-if | any | 元素和模板片段 | ||
| 5 | v-else | - | 上一个兄弟元素必须由v-if或者v-if-else | ||
| 6 | v-else-if | any | 上一个兄弟元素必须由v-if或者v-if-else | ||
| 7 | v-for | Array object number string Iterable | 基于数据 多次渲染元素或者模板 | ||
| 8 | v-on | Function object Inline statement | 给元素绑定监听事件 | ||
| 9 | v-bind | any Object | 动态绑定一个或多个attribute | attrorprop | |
| 10 | v-mode | 根据输入元素或者组件输出的值变化 | 表单输入元素或组件上创建双向绑定 | 只可以绑定下面四个元素 input select textarea components | |
| # | 11 | v-slot | 插槽名 | 只用于 template components |
| 12 | v-pre | - | 跳过该元素和所有子元素的编译 | ||
| 13 | v-once | - | 仅仅渲染一次,跳过之后的更新 | ||
| 14 | v-memo | any[ ] | |||
| 15 | v-clock | - | 隐藏为完成编译的DOM模板 |
相关文章:
vue基础知识大全
1,指令作用 以v-开头,由vue提供的attribute,为渲染DOM应用提供特殊的响应式行为,也即是在表达式的值发生变化的时候响应式的更新DOM。其内容为可以被求值的js代码,可以写在return后面被返回的表达式。 指令的简写指令简…...
第2篇|文献研读|nature climate change|减缓气候变化和促进热带生物多样性的碳储量走廊
研究背景 从 2000 年到 2012 年,潮湿和干燥热带地区的森林总损失超过 90,000 平方公里 yr-1,这主要是由农业扩张驱动的。热带森林砍伐向大气中排放 0:95 Pg C yr-1 并导致广泛的生物多样性丧失。保护区的生物多样性取决于与保护区所在的更广泛景观的生态…...
从暴力递归到动态规划(2)小乖,你也在为转移方程而烦恼吗?
前引:继上篇我们讲到暴力递归的过程,这一篇blog我们将继续对从暴力递归到动态规划的实现过程,与上篇类似,我们依然采用题目的方式对其转化过程进行论述。上篇博客:https://blog.csdn.net/m0_65431718/article/details/…...
Leetcode.1638 统计只差一个字符的子串数目
题目链接 Leetcode.1638 统计只差一个字符的子串数目 Rating : 1745 题目描述 给你两个字符串 s和 t,请你找出 s中的非空子串的数目,这些子串满足替换 一个不同字符 以后,是 t串的子串。换言之,请你找到 s和 t串中 恰…...
KoTime:v2.3.9新增线程管理(线程统计、状态查询等)
功能概览 KoTime的开源版本已经迭代到了V2.3.9,目前功能如下: 实时监听方法,统计运行时长web展示方法调用链路,瓶颈可视化追踪追踪系统异常,精确定位到方法接口超时邮件通知,无需实时查看线上热更新&…...
直面风口,未来不仅是中文版ChatGPT,还有AGI大时代在等着我们
说到标题的AI2.0这个概念的研究早在2015年就研究起步了,其实大家早已知道,人工智能技术必然是未来科技发展战略中的重要一环,今天我们就从AI2.0入手,以GPT-4及文心一言的发布为切入角度,来谈一谈即将降临的AGI时代。 关…...
若依微服务(ruoyi-cloud)保姆版容器编排运行
一、简介 项目gitee地址:https://gitee.com/y_project/RuoYi-Cloud 由于该项目运行有很多坑,大家可以在git克隆拷贝到本地后,执行下面的命令使master版本回退到本篇博客的版本: git reset --hard 05ca78e82fb4e074760156359d09a…...
vue2图片预览插件
学习:vue插件开发实例-图片预览插件 vue2-pre-img-plugin的gitee代码 准备工作 准备图片与基础的样式 将iconfont下载的字体图标资源放在src/assets/iconfont目录下将准备预览的图片放到src/static/images目录下 PrevImg.vue 在plugins/PrevImg目录下ÿ…...
手写Promise源码的实现思路
Promise的使用: let promise new Promise((resolve, reject) > {resolve("OK");// reject("Error"); });console.log(promise);promise.then(value > {console.log("success"); }, error > {console.log("fail"…...
【数据结构】-关于树的概念和性质你了解多少??
作者:小树苗渴望变成参天大树 作者宣言:认真写好每一篇博客 作者gitee:gitee 如 果 你 喜 欢 作 者 的 文 章 ,就 给 作 者 点 点 关 注 吧! 树前言一、树概念及结构1.1树的概念1.2 树的相关概念1.3 树的表示1.4树在实际中的运用…...
【前端之旅】NPM必知必会
一名软件工程专业学生的前端之旅,记录自己对三件套(HTML、CSS、JavaScript)、Jquery、Ajax、Axios、Bootstrap、Node.js、Vue、小程序开发(UniApp)以及各种UI组件库、前端框架的学习。 【前端之旅】Web基础与开发工具 【前端之旅】手把手教你安装VS Code并附上超实用插件…...
Android SQLite使用事务来确保所有语句都以原子方式执行及保证数据完整性一次执行多条语句示例
execSQL 不支持用分号分隔一次执行多个 SQL 语句,虽然理论上可以实现。但是,并不建议这样做,因为这可能会导致潜在的 SQL 注入漏洞。相反,建议使用 execSQL 或 rawQuery 分别执行每个语句。 在下面的代码块中,我们正在…...
nodejs+vue校园超市小卖部零食在线购物商城系统
21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存储达到…...
Karl Guttag:论相机对焦技术在AR/VR中的沿用
近期,AR/VR光学专家Karl Guttag介绍了两家在CES 2023展出光学传感技术的公司:poLight和CML(剑桥机电一体化)。同时介绍两家公司的原因,是因为他们提供了实现AR/VR“光学微动”(Optics Micromovement&…...
ECL@SS学习笔记(3)-概念数据模型
ECLSS 是产品,服务的分类和描述系统。本文介绍其内部的数据模型。ECLSS的作用ECLSS 标准的目标是为了实现工业界数据交换的标准化。这个标准主要作用是产品的分类和描述。分类为了有效地物料管理,供应链管理和电子商务,需要对物料进行分类和编…...
206. 反转链表
给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1] 示例 2: 输入:head [1,2] 输出:[2,1] 示例 3: 输…...
文心一言 vs GPT-4 —— 全面横向比较
文心一言 vs GPT-4 —— 全面横向比较 3月15日凌晨,OpenAI发布“迄今为止功能最强大的模型”——GPT-4。我第一时间为大家奉上了体验报告《OpenAI 发布GPT-4——全网抢先体验》。 时隔一日,3月16日下午百度发布大语言模型——文心一言。发布会上&#…...
rancher2.6进阶之kubectl安装
rancher2.6进阶之kubectl安装 1.安装kubectl客户端 1.1.1.使用命令行下载安装包: curl -LO https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl Note: 可指定下载版本, 将 ( c u r l − L − s h t t p s : / / d l . k …...
图像基本变换
缩放与裁剪裁剪图像的裁剪,是指将图像的某个区域切割出来。一些常见的应用场景包括:* 感兴趣区域提取* 去除无用信息* 图像增强* 纠偏:去除不规则部分,将图像变得更加整齐事实上,图像裁剪的裁剪通常就是一个numpy矩阵切…...
基于文心一言的底层视觉理解,百度网盘把「猫」换成了「黄色的猫」
随着移动互联网的一路狂飙,手机已经成为人们的新器官。出门不带钥匙可以,不带手机却是万万不可以的。而手机上,小小的摄像头也越来越成为各位「vlogger」的口袋魔方。每天有超过数亿的照片和视频被上传到百度网盘中,这些照片和视频…...
云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?
大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...
Cinnamon修改面板小工具图标
Cinnamon开始菜单-CSDN博客 设置模块都是做好的,比GNOME简单得多! 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...
AI编程--插件对比分析:CodeRider、GitHub Copilot及其他
AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...
成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战
在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...
Redis数据倾斜问题解决
Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...
Reasoning over Uncertain Text by Generative Large Language Models
https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...
安卓基础(aar)
重新设置java21的环境,临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的: MyApp/ ├── app/ …...
C++使用 new 来创建动态数组
问题: 不能使用变量定义数组大小 原因: 这是因为数组在内存中是连续存储的,编译器需要在编译阶段就确定数组的大小,以便正确地分配内存空间。如果允许使用变量来定义数组的大小,那么编译器就无法在编译时确定数组的大…...
【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)
LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 题目描述解题思路Java代码 题目描述 题目链接:LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...
Docker拉取MySQL后数据库连接失败的解决方案
在使用Docker部署MySQL时,拉取并启动容器后,有时可能会遇到数据库连接失败的问题。这种问题可能由多种原因导致,包括配置错误、网络设置问题、权限问题等。本文将分析可能的原因,并提供解决方案。 一、确认MySQL容器的运行状态 …...
