自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 【无标题】

【代码】【无标题】

2024-06-26 16:35:41 82

原创 【无标题】

/ 当前激活的effect function reactive(target) { return createReactiveHandler(target, false, false);function createReactiveHandler(target, isShallow = false, isReadonly = false) { return new Proxy(target, { get(target, key, receiver) { // 依赖收集逻辑 // …

2024-06-24 14:08:31 261

原创 【无标题】

function createReactiveHandler(target, isShallow = false, isReadonly = false) { return new Proxy(target, { get(target, key, receiver) { // 依赖收集逻辑 // …Vue 3的响应式系统基于Proxy和Reflect API,相较于Vue 2中基于Object.defineProperty的实现,提供了更全面的陷阱(trap)支持,能更高效地追踪数组和对象的变化。

2024-06-17 09:08:26 359 1

原创 【无标题】

// 示例使用 const state = reactive({ count: 0 });function createReactiveHandler(target, isShallow = false, isReadonly = false) { return new Proxy(target, { get(target, key, receiver) { // 依赖收集逻辑 // …}, set(target, key, value, receiver) { // 触发更新逻辑 // …

2024-06-03 08:44:37 1195

原创 【无标题】

Vue.directive('my-model', { // ... 钩子函数定义 ... });

2024-05-27 09:11:43 132

原创 vue-router

beforeRouteEnter: 在进入路由前调用,不能访问当前组件实例(this不可用),但可以通过回调函数传递给next方法的数据访问。作用:在每次路由切换成功后执行,通常用于更新页面标题、埋点统计、页面缓存清理等工作,不涉及阻断路由访问。beforeRouteUpdate: 路由参数变化时(路径相同而参数不同)调用,可以访问当前组件实例。beforeRouteLeave: 离开当前路由时调用,可以访问当前组件实例。位置:在定义路由配置对象时,直接在目标路由的配置内设置。位置:在路由组件内部编写。

2024-05-07 10:34:33 239

原创 【无标题】

使用计算属性computed方法实现查询功能。使用监听属性watch功能实现查询功能。

2024-04-23 10:51:02 143

原创 【无标题】

【代码】【无标题】

2024-04-15 09:01:51 120 1

原创 【无标题】

书写形式: v-model:value=“” 或 v-model。双向数据绑定,可以从data流向页面,也可以从页面流向data。e自身是某个事件带有的方法;event是window带有的方法。通常用于表单收集,v-model 默认绑定 value 值。e = window.event 兼容。当定义函数()时,接收e,当为形参。v-model本质是一个语法糖。靠v-bind绑定数据。oninput数据传递。

2024-04-08 09:30:32 233 1

原创 【无标题】

卸载阶段:onBeforeUnmount(卸载前)、onUnmounted(卸载完毕)更新阶段:onBeforeUpdate(更新前)、onUpdated(更新完毕)挂载阶段:onBeforeMount(挂载前)、onMounted(挂载完毕)若需要一个响应式对象,层级不深,ref、reactive 都可以。若需要一个响应式对象,且层级较深,推荐使用reactive。console.log(“挂载完毕”);console.log(“卸载完毕”);console.log(“挂载前”);

2024-03-31 14:18:46 164 1

原创 vue实现增删改查

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> table,td{

2024-03-27 10:22:24 1426

原创 day 2

"nums":{// bind成功绑定时调用},// inserted成功插入页面调用},// update重新解析时(改变)调用。

2024-03-17 18:26:19 360 1

原创 vue第一天

就像我们开发项目时如果只用到vue的声明式渲染,我就只用vue的声明渲染,而我们要用他的组件系统,我们可以引用它的组件系统。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动 vue的渐进式表现为:声明式渲染——组件系统——客户端路由——-大数据状态管理——-构建工具 二、库和框架的区别。框架,是一套完整的解决方案,使用框架的时候,需要把你的代码放到框架合适的地方,框架会在合适的时机调用你的代码四、MVVM的介绍。库,本质上是一些函数的集合。

2024-03-10 19:52:27 337 1

原创 【无标题】

1 auto默认值 继承 align-items 属性值2 flex-start 与交叉轴起始线对齐3 flex-end 与交叉轴终止线对齐4 center 与交叉轴中间线对齐: 居中对齐5 stretch 在交叉轴方向上拉伸6 baseline 与基线对齐(与内容相关用得极少)

2024-01-08 15:33:36 697

原创 js 数组

分析实现原理:我们需要添加一个值,我认为第一件事就是需要将自身数组长度增加,然后就是考虑怎么将传入的值加入到第一位,我的想法就是利用循环将整体数组的值往后移动,将数组下标[0]空出来,并将传入的值赋值给下标[0]达到效果。分析实现原理:其实和pop方法的原理差不多,由于是添加在最后,就直接给数组加一个长度,将传入的值添加到这个数组对应的下标。作用:用于将一个或多个元素添加到数组的末尾。作用:用于将一个或多个元素添加到数组的开头。分析实现原理::删除最后一个值可以直接减少数组的长度直接解决。

2023-12-25 09:34:18 345

原创 symbol

基本用法:Symbol 函数栈不能用 new 命令,因为 Symbol 是原始数据类型,不是对象。可以接受一个字符串作为参数,为新创建的 Symbol 提供描述,用来显示在控制台或者作为字符串的时候使用,便于区分。从上述代码我们可以知道:Symbol 作为对象属性名时不能用.运算符,要用方括号。因为.运算符后面是字符串,所以取到的是字符串 sy 属性,而不是 Symbol 值 sy 属性。ES6 引入了一种新的原始数据类型 Symbol ,表示独一无二的值,最大的用法是用来定义对象的唯一属性名。

2023-12-25 09:31:48 345

原创 js高级数组方法

fill() 方法用一个固定值替换一个数组中从起始索引(默认为 0)到终止索引(默认为array.length)内的全部元素。Array.from(数组对象,map函数,this指向) 将可迭代或类数组对象创建一个新的浅拷贝的数组实例并返回。Array.of(数组的值) new Array(数组长度)一个值就是长度,多个值就是数组的值。flatMap()方法对数组中的每个元素应用给定的回调函数,然后将结果展开一级.返回一个新数组。参数1:遍历函数,该遍历函数可接受3个参数:当前元素、当前元素索引、原数组。

2023-12-25 09:29:13 372

原创 transfrom

单独设置某个方向的移动距离 translateX 和 translateY。translate如果只给出一个值,表示x轴方向移动距离。rotate(deg) 旋转之后会改变坐标轴。取值正负均可 旋转单位为角度 deg。取值为正,顺时针旋转。取值为负,逆时针旋转。

2023-12-25 09:23:10 328

原创 防抖和节流

函数防抖(debounce):指在一定时间内,如果事件重复触发,则只执行第一次操作或者最后一次操作。即当一个函数频繁触发时,只有等到触发的间隔时间超过了指定的时间,函数才会执行一次,保证只执行一次。函数节流(throttle):指在一定时间内,无论事件触发多少次,只会执行一次操作。即当一个函数频繁触发时,在指定时间内只会执行一次,保证稳定的执行效果。原理 就是利用time值的来回转换,在每隔一定时间改变一次值。

2023-12-25 09:09:40 354

原创 js 递归

1.使用递归让延迟器有定时器的效果。编写递归函数,一定要包含两个条件。递归的作用和循环是基本一样的。2.使用递归求任意数的乘阶。3.使用递归斐波那契数列。

2023-12-25 08:58:23 354

原创 深拷贝和浅拷贝

在JS中,深拷贝和浅拷贝是针对对象的复制而言的。对象在JS中是引用类型,因此当我们将一个对象赋值给另一个变量时,实际上是将其引用复制了一份。因此,对其中一个变量所做的修改也会影响另一个变量。浅拷贝只是拷贝一层,更深层次对象级别的只拷贝引用(地址),所以改变新对象,旧对象也会改变,因为新旧对象共享一块内存。复制并创建一个一模一样的对象,不共享内存,修改新对象,旧对象保持不变。

2023-12-25 08:53:40 370

原创 call、apply和bind的区别

1.apply、call这两个方法的主动调用,bind返回的是改变this指向后的新函数;2.传参的问题区别,call和bind都是直接传递参数,apply传递的是数组。1.apply、call、bind他们三个都能改变函数this的指向问题;

2023-12-25 08:43:55 380

原创 E S 6

【代码】【无标题】

2023-11-06 09:27:35 33

原创 E S 6

(1)块级作用域: 块作用域由 { }包括,let和const具有块级作用域,var不存在块级作用域。块级作用域解决了ES5中的两个问题:·内层变量可能覆盖外层变量·用来计数的循环变量泄露为全局变量(2)变量提升: var存在变量提升,let和const不存在变量提升,即在变量只能在声明之后使用,否在会报错。(3)重复声明: var声明变量时,可以重复声明变量,后声明的同名变量会覆盖之前声明的遍历。const和let不允许重复声明变量。

2023-10-23 10:02:41 34

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除