
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
pnpm 是它的升级替代品,更快、更省磁盘空间。的意思是"接受兼容范围内的最新版本"——安装时如果已有 3.4.5,就装 3.4.5 而不是 3.4.0。不用的后果:你写不了符合 Vue3 规范的"不可变数据更新",要么直接改出 bug,要么代码很笨重地逐字段复制。不用的后果:Vue3 的所有官方示例、教程、组件库源码,回调全是箭头函数。Vue 项目不用它,但有时候会见到(比如一些老的 Node.

* 每个组件写自己的样式文件 */直接用预定义的 class 名组合,不写自定义 CSS。-- 不用写 CSS,直接用 class 名表达样式 --> < div class = " bg-white rounded-lg p-4 " > < h1 class = " text-lg font-bold " > 标题 </ h1 > </ div >

注意,在这里,如果引入了外部文件,还想在再这里写当前网页的专属逻辑时,需要分两个标签写,写在引入外部文件的script中时就会无视内部的代码。如果说HTML是房子的框架,那么CSS就是房子的装修,而JavaScript就是房子的智能系统。和 Python 也差不多,就是格式的不同(Python 用缩进和冒号,JS 用花括号。在 JS 中,对象是属性(变量)和方法(函数)的集合。JS 是一门“聪明”

概念核心意义关键代码/方法事件源触发事件的源头元素e.target事件类型用户执行的动作名称clickmouseoverkeydown等事件处理如何给元素绑定响应代码推荐事件流事件在 DOM 树中传递的路径捕获阶段 → 目标阶段 →冒泡阶段控制流向阻止事件向父元素传递控制行为阻止浏览器的自带默认动作不想跳转不刷新,快用;避免父级受牵连,记得。

当你调用 element.classList.toggle(‘dark-theme’) 时,浏览器在底层做的事情其实就是修改这个元素的 class 属性(在 HTML 上就是 class=“…classList 提供了一些方便的方法来添加、删除、切换类名,比如 add、remove、toggle、contains 等。,可以把数据保存在用户的浏览器中,即使关闭页面或重启浏览器也不会丢失(除非手动清

AJAX 是 Asynchronous JavaScript and XML(异步 JavaScript 和 XML)的缩写。它的核心作用是:让网页在不重新加载整个页面的情况下,向服务器发送请求并局部更新页面。比如在百度的搜索框中,我们输一个字下方就会立马弹出一串联想词,但是这并不是直接刷新整个页面,而是AJAX在后台随着输入,不断向服务器请求匹配,局部刷新下面那一串联想词。AJAX实际是以下几种

git是本地代码存档的管理工具。就像是steam游戏中,你可以在游戏中存档,退出来之后就会看到图标旁边的已上传steam云端。写代码有时也会感觉‘还是之前那一版本的好‘,所以也会想要存档,这样就算改完之后代码直接罢工,也可以根据存档回到之前的版本。我们可以用一个形象的比喻:VS Code 的 Git 按钮就像是汽车的“自动挡”,而 Git 命令行则是“手动挡”。这时候就需要Git了,Git是一个本

在已经有了HTML和JS,CSS的情况下,已经可以做一个非常完善的网站了。那我们为什么还需要Vue呢?输入新事项点击“添加”按钮,事项添加到列表点击事项旁的“删除”按钮,删除该项列表底部实时显示“共 X 条事项”

因为当组件变大时,data、methods、computed 被分散在不同的选项中,同一个功能的代码被拆散。这样写的问题:如果多处用到同样的计算结果,要重复写同样的表达式,可读性差且每次渲染都要重新计算。监听 DOM 事件(点击、输入、鼠标移动等),触发时执行对应的 JavaScript。把一个对象变成深层响应式的——对象中任何层级的属性发生变化,视图都会更新。(进阶,了解即可):有时候你需要在父

interface是用来描述对象结构的“蓝图”。它只存在于 TypeScript 编译阶段,编译后彻底消失,不产生任何 JS 代码。id: number;age?: number;//?表示可选属性// 使用// age 可省略注意:Interface 只能描述“长什么样”,绝对不能包含具体逻辑实现(如它内部的方法只能是“纯虚”的(只有签名,没有函数体)。// ✅ 只有签名// eat(food:








