- 博客(42)
- 收藏
- 关注
原创 Vue 组件通信 极简速记版
自定义事件名="回调"this.$refs.xxx.$on('事件名', 回调)父 → 子props子 → 父:自定义事件($emit跨任意层级。
2026-03-24 20:53:14
280
1
原创 vue2基本语法详细解析(2.7条件渲染)
你也可以使用 v-else 为 v-if 添加一个“else 区块”,当然,v-else元素也是必须紧跟在一个 v-if 或一个 v-else-if元素后面。v-else 和 v-else-if 也可以在 <template> 上使用。顾名思义,v-else-if 提供的是相应于 v-if 的“else if 区块”。一个使用 v-else-if 的元素必须紧跟在一个 v-if 或一个 v-else-if元素后面。1、v-if可以搭配v-else-if v-else使用,但v-show不可以。
2026-03-18 13:48:17
188
原创 vue2基本语法详细解析(2.6class与style绑定)
适用于样式名字和个数都确定,但是要动态决定用或者不用。适用于绑定的样式名字不确定,并且个数也不确定。适用于样式的名字不确定,需要动态指定。二.style 绑定。
2026-03-18 13:35:54
53
原创 vue2基本语法详细解析(2.5侦听属性)
(3) 所有不属于Vue管理的函数,例如setTimeout的回调函数、Promise的回调函数、AJAX的回调函数,建议使用箭头函数。无法直接监视对象深层次属性,如a.b,b属性压根不存在,如果监视的属性具有多级结构,一定要添加单引号:'a.b'监视多级结构中所有属性的变化,可以通过添加深度监视来完成:deep : true。监视多级结构中某个属性的变化,写法是:’a.b.c’ : {}。(1) 不管写普通函数还是箭头函数,目标是一致的,都是为了让this和vm相等。可以监视Vue的原有属性。
2026-03-18 11:57:54
250
原创 vue2基本语法详细解析(2.2MVVM及数据代理)
创建Vue实例vm,vm身上会有_data属性,_data通过劫持data配置项,再通过defineProperty的getter和setter,得到的响应式的数据。把vue中的data数据拦截改写成具有getter和setter形式的_data,就是数据劫持。数据代理vm中_data中的数据通过数据代理(也是通过defineProperty的getter和setter),放置到vm身上,vm可以通过getter方法,setter方法直接使用_data中的数据,方便书写数据。
2026-03-16 20:47:37
396
原创 vue2基本语法详细解析(2.1模板语法)
HTML标签 v-指令名:参数="javascript表达式"></HTML标签>第一:在编译的时候v-bind后面的“参数名”会被编译为HTML标签的“属性名”有的指令,既需要参数,又需要表达式,例如:v-bind:参数="表达式"<HTML标签 v-bind:参数="表达式"></HTML标签><HTML标签 v-bind:参数="表达式"></HTML标签>有的指令,不需要参数,但是需要表达式,例如:v-if="表达式"有的指令,不需要参数,也不需要表达式,例如:v-once。
2026-03-14 15:13:24
366
原创 ES6详细解析
const声明的常量不可以改变,这意味着,const一旦声明,就必须立即初始化,不能以后再赋值,当然数组和对象等复合类型的变量,变量名不指向数据,而是指向数据所在的地址。let声明的变量可以改变,值和类型都可以改变(let:声明的是变量);const只保证变量名指向的地址不变,并不保证该地址的数据不变。const 关键字用来声明常量,const 声明有以下特点。(2) 标识符一般为大写(建议)(6)、 不与顶层对象挂钩。(3) 不允许重复声明。1) 不允许重复声明。(4) 值不允许修改。
2026-03-09 11:32:40
138
原创 第二波总结
双等仅仅是看值是否相等,值相等即可无需比较类型。undefined和null有什么区别。三等是值类型与数据类型进行双层比较。判断是否为数组的 4 种常用方法。==和===有什么区别。变量 === 目标值。js的运行机制是什么。
2026-03-03 15:28:13
596
原创 作用域&预解析&数据类型存储
3、引用数据类型的值直接保存到堆内存中的,每创建一个新的对象,就会在堆内存中开辟一个新的空间,而变量保存的是对象的内存地址(对象的引用),如果两个变量保存的是同一个对象引用,当通过一个变量修改属性时,另一个也会受到影响。复杂数据类型,在存储时变量中存储的仅仅是地址(引用),因此叫做引用数据类型,通过new关键字创建的对象(系统对象、自定义对象),如Obect、Array、Date等。比较两个引用数据类型时,它是比较对象的内存地址,如果两个对象时一模一样的,但是地址不同,他也会返回false。
2026-01-27 20:18:48
82
原创 函数的补充详细解析
(2)当对函数调用call()和apply()方法时,都会调用函数执行,当函数调用bind()方式,会返回当前函数,需要手动调用。(3)在调用call和apply(),bind()可以将一个对象指定为第一个参数, 此时这个对象将会成为函数执行中的this。(4)call()、bind()方法传递函数的其他参数,需要一个个传,apply()方法需要将实参封装到一个数组中统一传递。4.使用call和apply,bind调用时,this是指定的那个对象,如果不写第一参数,默认是window。
2026-01-27 20:14:36
1243
原创 要背的重要笔记
在seo的层面上,蜘蛛抓取不到图片的内容,所以前端在写img标签的时候为了增加seo效果要加入alt属性来描述这张图是什么内容或者关键词。声明位于文档中的最前面的位置,此标签告知浏览器文档使用哪种HTML或XHTMl规范(重点:告诉浏览器按照何种规范解析页面)针对低版本浏览器进行构建页面,保证最基本的功能,然后再针对高级浏览器进行效果、交互等改进和追加功能达到更好的用户体验。4. 优雅降级的观点更关注主流浏览器,一些特定的浏览器,除修复较大的错误外,其他的差异将会被直接忽略。
2026-01-26 20:48:38
85
原创 对象的补充详细解析
目前我们的方法是在构造函数内部创建的,也就是构造函数每执行一次就会创建一个新的sayName方法,也是所有实例的sayName都是唯一的,这样就导致了构造函数执行一次就会创建一个新的方法,执行一万次就会创建一万个新的方法,而这一万个对象都是一样的,这是没有必要的,完全可以使所有的对象共享同一个方法。:以后我们创建构造函数时,可以将这些对象共有的属性和方法,统一添加到构造函数中,这样就不用分别给每一个对象添加,也不会影响到全局作用域,就可以使每个对象,都具有这样的属性和方法了。
2026-01-26 20:42:33
561
原创 js运算符详细解析
(3)如果对非布尔值进行运算,则会将其转换为布尔值,然后再取反, 所以我们可以利用该特点,来将一个其他的数据类型转换为布尔值。运算符也叫操作符,通过运算符可以对一个值或者多个值进行运算,并获取运算结果,常用于实现赋值、比较、(2)如果符号两侧的值,都是字符串时,不会将其转换为数字比较,而会分别比较字符串的Unicode编码。3:如果对两个字符串进行加法运算,则会做拼串,会将两个字符串拼接为一个字符串,并返回。都可以做值的相等运算,==会做类型转换,===不会,===要求值和类型完全相等。
2026-01-20 18:54:34
643
原创 js初相识:简介及基本语法
都可以向程序内存中申请空间,定义变量let const 不可以重复定义相同的变量名var 定义的变量默认是放在window中, let、const不予顶级对象window挂钩const 定义的变量不能修改let const声明的变量存在“暂时性死区”,即必须先定义再使用,否则会报错var可以先使用,再定义,不报错,存在变量提升const 声明的变量,不能不赋值在实际开发中,
2026-01-19 20:48:36
637
原创 弹性盒子详细解析
column-reverse 主轴是垂直方向,起点在下,侧轴是水平方向,起点在上。row-reverse 主轴是水平方向,起点在右,侧轴是垂直方向,起点在下。row 默认值 主轴是水平方向,起点在左,侧轴是垂直方向,起点在上。column 主轴是垂直方向,起点在上,侧轴是水平方向,起点在左。space-between 弹性元素侧轴两端对齐布局。flex-start 弹性元素侧轴起点开始布局。flex-start 弹性元素侧轴起点开始布局。改变弹性元素的排列顺序,值越小,越靠前,默认是0。
2026-01-08 17:30:22
1511
原创 背景详细解析
10% 到 50% 是 red-green 的过渡色,50%-75% 是 green-blue 的过渡色。3.百分比表示指定颜色的标准中心线位置,百分比之间是过渡色,那么 0% 表示起点,100% 表示终点。50% 表示 green 的颜色中心线在线性渐变方向的 50% 的位置。75% 表示 blue 的颜色中心线在线性渐变方向的 75% 的位置。10% 表示 red 的颜色中心线在线性渐变方向的 10% 的位置。参数1:水平方向的偏移:长度单位,left,center,right,
2026-01-07 18:52:15
646
原创 定位.轮播图详细解析
2、开绝对定位的情况下,left:50%;margin 和left,right其中一个值为auto,四个值中,三个值固定,某一个值设为auto,则会调整这个auto值,1、开绝对定位的情况下,四边偏移量为相同的固定值,margin为auto。1、rgba/transparent是样式值,必须跟在固定的样式名后,当开启决定定位后,水平方向的布局等式就会加上left,right两个值。4、父元素转成单元格,设置水平垂直居中,同时将子元素设置为行内块元素。width 和left,right其中一个值,
2026-01-05 19:38:19
802
原创 高度塌陷详细解析
单独定义一个类,利用::after,在类中添加一个空白的内容,并转成块元素,然后对齐。并且将所有的tr都放到tbody中,所以注意tr并不是table的子元素,而是tbody的子元素。3、在浮动元素的下方增加一个块元素,然后给块元素用clear:both;此时如果设置其子元素浮动,子元素会脱离文档流,就不能撑起父元素的高度了,表格在日常生活中使用的非常的多,比如excel就是专门用来创建表格的工具,both,清除两侧浮动元素对当前元素的影响。这时就需要将表格分为三个部分,表头,表格的主体,表格底部。
2025-12-30 20:42:35
352
原创 浮动详细解析
1:浮动元素会脱离文档流,元素脱离文档流以后,不会再占用文档流的位置,它下边的元素会立即向上移动。2、元素浮动,会使元素脱离文档流,元素原来在文档流中的位置就会丢失,使用float来使元素浮动,使一个元素向其父元素的左侧或右侧移动,从而脱离文档流。5、浮动元素遇到了文字,浮动元素不会盖住文字,文字会环绕浮动元素。3、如果浮动元素上面的元素不浮动,不浮动元素会挡住浮动元素。4、浮动元素会紧着上一个元素后面,不会跑到上一个元素的前面。5:如果浮动元素的上边是一个没有浮动的块元素,则浮动元素无法上移。
2025-12-29 20:48:14
196
原创 CSS 盒子模型
width。这 7 个属性值相加必须等于其父元素内容区的宽度,若不相等,浏览器会自动强制调整其中的margin(左右外边距)或width(内容区宽度),以实现两者全等。1.2 浏览器调整规则浏览器的调整逻辑完全取决于这 7 个值中是否存在auto(仅width可被设置为auto无auto的情况若 7 个属性值中没有任何一个被设置为auto,浏览器默认调整,通过改变其值来满足总宽度等于父元素内容区宽度的要求。1 个auto的情况哪个属性被设置为auto。
2025-12-29 08:53:12
838
原创 盒子模型详细解析
下外边距,设置一个正值,其下边的元素会向下移动,挤别人,负值,其下边的元素会向上移动。border-bottom:边框的大小 边框的颜色 边框的样式;border-right:边框的大小 边框的颜色 边框的样式;border-left:边框的大小 边框的颜色 边框的样式;border-top:边框的大小 边框的颜色 边框的样式;我们创建的元素(标签)默认情况下,都在文档流中。控制的是元素与元素之间的距离,并不影响整个盒子的大小。左外边剧,设置一个正值,元素会向右移动,负值,元素向左移动。
2025-12-25 20:46:51
587
原创 CSS样式系统学习详细笔记
注意:设置前提,必须有可以移动的空间,行内元素来说,它是被撑开的,无法设置大小,h-shadow :阴影的水平移动距离,正值向右移动,负值向左移动,必写。h-shadow :阴影的水平移动距离,正值向右移动,负值向左移动,必写。v-shadow 阴影的垂直移动距离,正值向下移动,负值向上移动,必写。v-shadow 阴影的垂直移动距离,正值向下移动,负值向上移动,必写。blur 阴影的模糊半径,值越大,越模糊,可不写,默认是0。blur 阴影的模糊半径,值越大,越模糊,可不写,默认是0。
2025-12-24 19:24:08
804
原创 选择器补充,字体样式
用取色器(直接来到截屏模式),将箭头对准你要的色号,按它的提示复制色号,注意给你的颜色的形式,可能是rgb的,也可能是十六进制的。常用的十六进制颜色:#f00,#00f,#0f0,#f60,#eee,#ccc,#333,#000,#fff。在pc端,1个css像素(1个px)=== 1个物理像素===1个发光的小元件。viewport width === 1个设备视口宽度的100%===100vw。也是用红,绿,蓝,0-255之间的值,勾兑一个颜色,只不过用16进制的方式表示0-255之数字。
2025-12-23 20:27:03
563
原创 css复合选择器详细解析
原文链接:https://blog.youkuaiyun.com/2501_90845920/article/details/156155993。[属性名^=属性值]{} 选择属性值以指定值开头的元素。[属性名=属性值]{} 选择含有指定属性和属性值的元素。[属性名$=属性值]{} 选择属性值以指定值结尾的元素。[属性名*=属性值]{} 选择属性值含有某值的元素。常用的伪类选择器:顺序类的,鼠标移入,鼠标点击,否定伪类·······不同的是,这是在同类型的子元素中去选择。语法:[属性名]{} 选择含有指定属性的元素。
2025-12-22 20:44:55
587
原创 css相关内容详细解析
在head标签内,添加style子标签,在style标签内,通过选择器,选中你要设置样式的结构,2、复用率不高,只有当前文件内样式可以复用,如果其他文件要用,只能复制,不能复用。在开始标签内,添加style属性,在style属性值的位置写css样式 ,在{书写css样式},可以书写多组样式,样式与样式之间用;在html文件外,新建.css文件,在css文件内,书写样式!作用:选中所有的标签,包括html,head,body·····不推荐使用,只有少部分不常修改的,很简单的样式,可以使用。
2025-12-19 19:35:35
745
原创 常用行内块标签详细解析
submit 提交 将数据收集提交到服务器,配合value值更改按钮名字,默认值"提交"button 普通按钮,没有具体语义,程序员自己写功能的,value值默认为空。一般不同时设置宽高,以免图片变形,可以单独设置宽度或高度,另一边浏览器会自适应调整。reset 重置 配合value值,更改按钮的名字,默认是“重置”常用的行内块标签:img,input,button·····value属性:设置表单的值,后期也可以结合js收集用户输入的内容。1、兼具块标签行内标签的特点,不会独占一行,可以设置宽高。
2025-12-18 20:01:05
1187
原创 常用行内标签详细解析
二.b标签和strong标签都有加粗的默认样式,b标签没有语义,strong标签有强调的语义,../ 你要跳转的文件跟超链接所在的文件在不同一个目录下,../跳出当前的文件夹,一.i标签和em标签都有斜体的默认样式,i标签没有语义,em标签有强调的语义,(2)em是斜体强调,强调语音语调,strong是加粗强调,强调内容的重要性。b标签和strong标签,区别是什么?(3)在实际开发中,一般不做区分,遇到强调的部分,都可以使用。:都有强调的语义,em是语气语调的强调,strong是内容的强调。
2025-12-17 19:31:29
906
原创 快标签详细解析
常用的块标签:hl-h6,p,center,div,hgroup,ul,ol,li,header,main,footer,aside,section.......:用标题标签包裹的内容就是标题,语义是从h1到h6逐步降低的,也就是h1的语义最重,所以一个页面只用一次h1(一般给logo)1.给列表加type属性(type="...."),可以修改项目符号(了解一下),但一般我们不用列表的默认的项目符((html语言是一个弱类型语言,如果语法有错,浏览器会纠错,这种会影响代码编译,还可能不是你想要的结果)}
2025-12-16 23:02:41
1014
原创 HTML基本指令
常用的块标签:hl-h6,p,center,div,ul,ol,li,header,main,footeraside,section.......-- meta标签本身是没有作用的,但它可以配置不同的属性和属性值,从而有不同的作用。<标签名属性名="属性值"属性名="属性值"属性名="属性值"></标签名> -->html标签 又叫根标签 是所有标签的祖先标签 所有代码都需要写在根标签内。单标签:写法一:<标签名> 写法二:<标签名/>-- title标签:标题标签,配置界面标题栏的标题。
2025-12-15 20:03:40
324
原创 MySQL数字函数
SELECT COUNT(*) '月薪和佣金之和大于2500的人数' FROM emp WHERE sal+IFNULL(comm,0)>2500;SELECT COUNT(comm) '有佣金的人数',COUNT(mgr) '有领导的人数' FROM emp;SELECT SUM(sal) '所有雇员月薪和',SUM(comm)'所有雇员佣金和' FROM emp;SELECT SUM(sal+IFNULL(comm,0))'所有雇员月薪和佣金之和' FROM emp;
2025-11-20 16:56:40
868
原创 MySQL字符串函数详细解析
6、FIELD(s,s1,s2...):返回第一个字符串 s 在字符串列表(s1,s2...)中第一次出现的位置,如果字符串列表中没有你要找的字符串,返回0。#20、MID(s,n,len):从字符串 s 的 n 位置截取长度为 len 的子字符串,同 SUBSTRING(s,n,len)SELECT CONCAT('qwe','zhangsan','lisi','王五') AS '合并后的字符串';SELECT CONCAT_WS('-','abc','qwe','asdfg') '合并字符串';
2025-11-20 16:47:54
1191
原创 MySQL测试题
VALUES(1,'张三丰','男','1367-10-21','12321222@qq.com',102),(4,'三体星人','未知','3012-8-15','12345678@fly.com',2000),(2,'达摩','男','1227-4-15','1121213242@126.com',2000),# 2,'达摩','男','1227-4-15','1121213242@126.com',2000。(3,'梅超风','女','1547-6-1','232442@163.com',44),
2025-11-18 15:18:45
562
原创 连接MySQL数据库的3种方式
通常,在安装 MySQL 时,如果选择了安装 “MySQL Server” 和 “MySQL Command Line Client”,命令行工具会被安装。这是 MySQL 安装包自带的一个简单的命令行客户端,通常叫做 “MySQL Command Line Client” 或 “MySQL 8.0 Command Line Client”。一个简单的测试方法是:打开命令提示符,输入 mysql --version,如果显示了版本信息,说明配置成功。-P:指定 MySQL 服务的端口号,默认为 3306。
2025-11-17 16:42:23
1427
原创 如何安装MySQL8数据库,包含成功后
20.点击mysql server。23.点击development。6.注意如图编辑,然后点击下载。13‘点击Custom,下一步。33.win+r,输入cmd。2.点击downloads。5.点击archives。37.新建虚拟机所在位置。14.如图所示进行操作。19.点击execut。24.按图设置,下一步。26.设置密码,下一步。29.等待成为如图所示。30.等全部亮起,完成。7.下载地方更改一下。11.进入mysql。41.重新打开cmd。
2025-11-17 16:30:21
365
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅