gtLBTNq9mr3
码龄7年
关注
提问 私信
  • 博客:850,004
    社区:2
    850,006
    总访问量
  • 136
    原创
  • 2,050,326
    排名
  • 97
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2017-08-07
博客简介:

文摘资讯

查看详细资料
个人成就
  • 获得243次点赞
  • 内容获得55次评论
  • 获得835次收藏
  • 代码片获得2,196次分享
创作历程
  • 5篇
    2025年
  • 107篇
    2024年
  • 134篇
    2023年
  • 114篇
    2022年
  • 162篇
    2021年
  • 165篇
    2020年
  • 133篇
    2019年
  • 117篇
    2018年
  • 71篇
    2017年
成就勋章
创作活动更多

2024 博客之星年度评选报名已开启

博主的专属年度盛宴,一年仅有一次!MAC mini、大疆无人机、华为手表等精美奖品等你来拿!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Symbol(Symbol.unscopables)

在 Vue 源码中,Symbol(Symbol.unscopables)是一个与 JavaScript 的标准Symbol.unscopables相关的特殊符号。要理解它的作用,我们需要从 JavaScript 的with语句和Symbol.unscopables的功能说起。Symbol.unscopables的作用Symbol.unscopables是 ES6 引入的一个内置 ...
转载
发布博客 2025.01.14 ·
6 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

createElementVNode 底层工具函数

createElementVNode是 Vue 3 中用于创建虚拟 DOM 节点(VNode)的一个底层工具函数。它是 Vue 内部用于渲染的核心函数之一,主要在编译模板时生成的渲染函数中被调用。在 Vue 3 中,createElementVNode是从vue包导出的,通常不需要手动使用它,因为 Vue 的模板语法会自动编译成调用类似createElementVNode的渲染函数。但...
转载
发布博客 2025.01.13 ·
5 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

副作用清理 onWatcherCleanup

有时我们可能会在侦听器中执行副作用,例如异步请求:watch(id,(newId) =>{fetch(`/api/${newId}`).then(() =>{ // 回调逻辑 })})但是如果在请求完成之前 id 发生了变化怎么办?当上一个请求完成时,它仍会使用已经过时的 ID 值触发回调。理想情况下,我们希望能够在 id 变为新值时取消过时的请求。我们可以使用 on...
转载
发布博客 2025.01.10 ·
7 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

前端如何管理JS内存

在前端开发中,管理 JavaScript 内存是优化性能、减少内存泄漏、提升用户体验的重要一环。以下是一些管理 JavaScript 内存的关键方法和最佳实践:1.理解 JavaScript 内存管理机制JavaScript 的内存管理主要依赖以下两个过程:•内存分配:当创建变量、对象、函数时,JavaScript 会自动分配内存。•垃圾回收:JavaScript 引擎(如 V8)会自动回收不再...
转载
发布博客 2025.01.09 ·
9 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

prefers-color-scheme CSS 特性

prefers-color-scheme CSS 媒体特性用于检测用户是否有将系统的主题色设置为亮色或者暗色。语法1、no-preference 表示系统未得知用户在这方面的选项。在布尔值上下文中,其执行结果为 false。2、light 表示用户已告知系统他们选择使用浅色主题的界面。3、dark 表示用户已告知系统他们选择使用暗色主题的界面。示例这个例子使用了一个有黑色背景和白色文字的元素,当用...
转载
发布博客 2025.01.08 ·
15 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

onunhandledrejection 捕获 Promise

当 Promise 被 reject 且没有 reject 处理器的时候,会触发 unhandledrejection 事件;这可能发生在 window 下,但也可能发生在 Worker 中。这对于调试和为意外情况提供后备错误处理非常有用。unhandledrejection 继承自 PromiseRejectionEvent,而 PromiseRejectionEvent 又继承自 Event。...
转载
发布博客 2024.12.24 ·
39 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

什么是源代码映射?

源映射的必要性早期的 Web 应用的复杂性较低。开发者直接将 HTML、CSS 和 JavaScript 文件部署到 Web 上。在开发工作流中,更现代、更复杂的 Web 应用可能需要使用各种工具。例如:1.模板语言和 HTML 预处理器:Pug、Nunjucks、Markdown。2.CSS 预处理器:SCSS、LESS、PostCSS。3.JavaScript 框架:Angular、React...
转载
发布博客 2024.12.23 ·
24 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

分析组件的渲染时间

在 Vue 应用中分析每个组件的渲染时间可以帮助开发者找出性能瓶颈并进行优化。以下是一些方法,可以帮助你分析和测量 Vue 组件的渲染时间:1、 使用浏览器的性能工具•打开 Chrome DevTools,进入 "Performance" 面板。•点击 "Record" 按钮,然后在应用中执行一些操作。•停止记录后,你可以看到每个帧的渲染时间。通过展开相关的堆栈,你可以找到与 Vue 组件相关的渲...
转载
发布博客 2024.12.22 ·
38 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Performance.mark创建时间戳

Performance.mark()是一个 Web API 方法,用于在浏览器的性能时间线中创建一个时间戳。这对于测量代码执行的性能非常有用,因为它允许开发者在特定的代码执行点上标记时间,然后可以通过Performance.measure()方法来计算两个标记之间的时间差。以下是如何使用Performance.mark()方法的步骤:1、创建标记: 使用performance.mar...
转载
发布博客 2024.12.21 ·
22 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

响应式对象重复赋值问题

proxy 的一个代理,对代理对象属性的更改会反映到原对象上。例如:constobj = {name:'Alice',age:30};constproxy =newProxy(obj, {});proxy.name='Bob';console.log(obj.name);// 'Bob', 原对象也被修改了在上面的例子中,我们创建了obj对象,并将其用Proxy...
转载
发布博客 2024.12.13 ·
21 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Vue 3 编译器

在 Vue 的源码中,compiler-core、compiler-dom、compiler-sfc 和 compiler-ssr 是 Vue 3 编译器的不同部分,它们各自承担不同的角色和功能。以下是它们之间的区别和作用:1、 compiler-core:•功能: 这是 Vue 3 编译器的核心模块,包含了大部分编译器的通用逻辑。•作用: 提供了模板编译的基础功能,包括解析(parsing)、转...
转载
发布博客 2024.12.08 ·
31 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Vue3 的 defineExpose 用法

如果一个子组件使用的是选项式 API 或没有使用 <script setup>,被引用的组件实例和该子组件的 this 完全一致,这意味着父组件对子组件的每一个属性和方法都有完全的访问权。这使得在父组件和子组件之间创建紧密耦合的实现细节变得很容易,当然也因此,应该只在绝对需要时才使用组件引用。大多数情况下,你应该首先使用标准的 props 和 emit 接口来实现父子组件交互。有一个例...
转载
发布博客 2024.12.06 ·
37 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

请求都有并发数的限制

每个浏览器对同一域名的资源请求都有并发数的限制。这是为了防止服务器过载和确保良好的用户体验。不同的浏览器和版本可能会有不同的限制,但通常现代浏览器会允许每个域名同时发起 6 到 8 个请求。以下是一些常见浏览器的资源请求并发数限制的概述:1.Google Chrome: 通常允许每个域名 6 个并发请求。2.Mozilla Firefox: 通常允许每个域名 6 个并发请求。3.Microsoft...
转载
发布博客 2024.12.01 ·
224 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

vue-router 处理路由错误

等待导航结果当使用 router-link 组件时,Vue Router 会自动调用 router.push 来触发一次导航。虽然大多数链接的预期行为是将用户导航到一个新页面,但也有少数情况下用户将留在同一页面上:1、用户已经位于他们正在尝试导航到的页面2、一个导航守卫通过调用 return false 中断了这次导航3、当前的导航守卫还没有完成时,一个新的导航守卫会出现了4、一个导航守卫通过返回...
转载
发布博客 2024.11.26 ·
69 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Workstation Pro 虚拟机对个人使用免费

VMware Workstation Pro 是行业标准桌面虚拟机软件,可以使用 VMware 桌面虚拟机管理程序针对任何平台进行开发和测试。VMware Workstation Pro - 功能强大的桌面虚拟机软件,用户可在单一的桌面上同时运行不同的操作系统,进行开发、测试、部署新的应用程序。在一台机器上同时运行两个或更多Windows、DOS、LINUX系统,在虚拟网路,实时快照,拖曳共享文件...
转载
发布博客 2024.11.24 ·
102 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

小程序中模板调用 data 里的函数

微信小程序 glass-easel 组件框架新增特性中支持在模板中调用 data 里的函数。如果 data 中的某个字段是函数,在模板里可以直接调用它:Component({ data: { getDataField() { return 'someValue' }, },})<view>{{ getDataField() }}</view...
转载
发布博客 2024.11.21 ·
52 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

date-fns 日期处理库

date-fns和Moment.js是两个流行的 JavaScript 日期处理库,各有其特点和适用场景。以下是它们之间的一些主要区别:1、模块化 vs. 单一包:•date-fns: 采用模块化设计,每个功能都是一个独立的函数模块。这意味着你可以只引入需要的功能,从而减少打包后的文件大小。•Moment.js: 是一个单一的大包,所有功能都包含在一个库中。在项目中引入时,即使只需要部分功...
转载
发布博客 2024.11.15 ·
57 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Vue 3.5 辅助函数useTemplateRef

Vue 3.5+ 要在组合式 API 中获取引用,我们可以使用辅助函数useTemplateRef():<script setup>import { useTemplateRef, onMounted } from 'vue'// 第一个参数必须与模板中的 ref 值匹配const input = useTemplateRef('my-input')onMounte...
转载
发布博客 2024.11.10 ·
106 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

在 Vue 3 中 .native 修饰符已经被移除

你可能有很多次想要在一个组件的根元素上直接监听一个原生事件。这时,你可以使用 v-on 的 .native 修饰符:<base-input v-on:focus.native="onFocus"></base-input>在 Vue 3 中,.native修饰符已经被移除,这是因为事件绑定的方式有所改变。在 Vue 2 中,.native修饰符用于在自定义组件上绑定原生...
转载
发布博客 2024.11.06 ·
251 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Vue 自定义的指令

除了 Vue 内置的一系列指令 (比如 v-model 或 v-show) 之外,Vue 还允许你注册自定义的指令 (Custom Directives)。一个自定义指令由一个包含类似组件生命周期钩子的对象来定义。钩子函数会接收到指令所绑定元素作为其参数。下面是一个自定义指令的例子,当一个 input 元素被 Vue 插入到 DOM 中后,它会被自动聚焦:<script setup>...
转载
发布博客 2024.11.05 ·
39 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多