置顶文章

1.8k 2 分钟

还记得所有 AI 教程必提的「奥卡姆剃刀原则」吗?即:如无必要,勿增实体。这条原则也被收藏,还有一些不太常见的费茨法则、盖尔定律、康威定律等,都被一一收入囊中。

精选分类

文章列表

11k 10 分钟

# 背景

随着 vue3 的逐渐成熟,公司项目逐渐会存在 vue2 和 vue3 项目共存的情况,兼容 vue2 和 vue3 的公共组件开发能让老项目较好地过渡到 vue3。研究了 vue-demi 的源码和 demo,发现 vue-demi 只是简单地根据 vue 版本生成对应的类似中间件的东西,而且 render 函数也只是做了简单的中转处理;

国外大佬写了一个 vue-demi 解决了 vue2/vue3 的 render 函数 attrs 属性的问题,这里我就直接贴 issue 链接,不做过多说明了: github.com/vueuse/vue-…

虽然 vue-demi 没有提供 sfc 的兼容方案,但是其实仔细想一下,sfc 的解析处理也不应该是由 vue-demi 来解决,应该是交给打包工具将 template 转成 render,而 vue-demi 只需要关注 composition-api 就行;于是往着这个思路,花了几天时间研究一下 vue2.6、vue2.7 和 vue3 的 sfc-compiler,得到以下开发方案。

9.7k 9 分钟

# 基础介绍

# font-face 是什么

font-face 是 css3 中允许使用自定义字体的一个模块,他主要是把自己定义的 Web 字体嵌入到你的网页中。
这是一个叫做 @font-face 的 CSS @规则 , 它允许网页开发者为其网页指定在线字体。通过这种作者自备字体的方式,@font-face 可以消除对用户电脑客户端的字体的依赖

7.1k 6 分钟

# WebGL

简介:WebGL(全写 Web Graphics Library)是一种 3D 绘图协议,这种绘图技术标准允许把 JavaScript 和 OpenGL ES 2.0(OpenGL for Embedded Systems,OpenGL 嵌入式版本,针对手机、游戏机等设备相对较轻量级的版本)结合在一起,通过增加 OpenGL ES 2.0 的一个 JavaScript 绑定,WebGL 可以为 HTML5 Canvas 提供硬件 3D 加速渲染,这样 Web 开发人员就可以借助系统显卡来在浏览器里更流畅地展示 3D 场景和模型了,还能创建复杂的导航和数据视觉化。

# Three.js

简介:Three.js 是 WebGL 的 JavaScript 3D 库,其对 WebGL 提供的接口进行了非常好的封装,简化了很多细节,大大降低了学习成本,成为前端开发者完成 3D 绘图的得力工具。

three.js 官方文档 :threejs.org/

three.js 中文文档 : techbrood.com/threejs/doc…

Three.js 整体认知(附:Three.js 功能概览

2.2k 2 分钟

在日常使用命令 npm install / npm install XX 下载依赖的操作中,我经常会遇到无法解析依赖树的问题(依赖冲突):

img

但是每当遇到这种情况的时候,我用命令 npm install --legacy-peer-deps 就可以顺利进行下载操作:

img

这是为什么呢?带着好奇心,我去研究学习了一番 npm install xxxx --legacy-peer-deps 命令是什么?为什么可以解决下载时候产生的依赖冲突呢?(注:我本地当前正在使用的 npm 版本是 8.6.0)

469 1 分钟

# element-ui 弹窗的 this.$confirm 框报错 Uncaught (in promise) cancel 这是因为你点击了取消或者是关闭弹窗,但是你没有写 catch。正确的写法是 this.$confirm('确定清空试题篮所有试题?', '提示', { type: 'warning' }).then(() => { localStorage.setItem('chosedResourceids',"");...
246 1 分钟

描述:<el-table> 点击行时,会跳转到一个详细信息页面, 但是同时这一行也有编辑和删除按钮。 问题: 在点击按钮时,@row-click 事件也被触发了,而我并不想触发 row-click 事件 解决办法: 写按钮的 @click 事件时添加 .stop <el-button type="text" @click.stop="deleteVisible = true"><i class="el-icon-delete...
14k 13 分钟

这篇文章介绍了 Vue.js 父子组件之间通信的十种方式,不管是初学者还是已经在用 Vue 的开发者都会有所收获。无可否认,现在无论大厂还是小厂都已经用上了 Vue.js 框架,简单易上手不说,教程详尽,社区活跃,第三方套件还多。真的是前端开发人员必备技能。而且在面试当中也往往会问到关于 Vue 方面的各种问题,其中大部分面试官会问到如上这种问题。

# 概述

几种通信方式无外乎以下几种:

  • Prop(常用)
  • $emit (组件封装用的较多)
  • .sync 语法糖 (较少)
  • $attrs 和 $listeners (组件封装用的较多)
  • provide 和 inject (高阶组件 / 组件库用的较多)
  • 其他方式通信