
获得徽章 0
- Vue中的@change和@click是事件监听器,用于处理用户与视图交互时的事件。它们的区别如下:
@change事件是在视图中的元素状态发生改变后触发的,通常用于表单元素(如input、select、checkbox等)的值改变时执行相应的操作。在引用中的例子中,当下拉框的选项改变时,change事件会执行相应的事件函数。
@click事件是在用户点击视图中的元素时触发的,通常用于按钮或链接等需要用户主动点击的元素。在引用和的例子中,当用户点击radio按钮或选项时,click事件会执行相应的事件函数。
总结来说,@change事件是在元素状态改变后触发,而@click事件是在用户点击元素后触发。您可以根据具体的需求选择使用哪个事件来处理相应的交互操作。123展开评论点赞 - export default 和 export 有什么区别:
export 、export default,都属于ES6里面的语法
1. export与export default均可用于导出常量、函数、文件、模块等
2. 你可以在其它文件或模块中通过import+(常量 | 函数 | 文件 | 模块)名的方式,将其导入,以便能够对其进行使用
3. 在一个文件或模块中,export、import可以有多个,export default仅有一个
export default 用于规定模块的默认对外接口,只能有一个,所以 export default 在同一个模块中只能出现一次。
4. 通过export方式导出,在导入时要加{ },export default则不需要,因为它本身只能有一个
export default的import方式之所以不需要使用大括号包裹。因为对于export default 其输出的本来就只有一个接口,提供的是模块的默认接口,自然不需要使用大括号包裹。
5、 export 可以直接导出或者先定义后导出都可以,export default只能先定义后导出export
export 可以直接导出或者先定义后导出都可以。
示例:直接导出
export let i = “hello”;
export function myFun(){ };
示例:先定义后导出
let i = “hello";
function myFun(){ };
export { i , myFun } // 必须加花括号{ }export default
export default是模块的默认对外接口,只有一个,所以只能出现一次。
export default只能先定义后导出
示例:先定义后导出
function myFun(){ };
export default myFun // 不要加花括号{ }展开评论点赞 - 在 JavaScript 中,我们经常需要复制对象,尤其是当我们需要在函数中创建一个新的对象,而不改变原始对象时。这可以通过两种方式实现:深拷贝(Deep Copy)和浅拷贝(Shallow Copy)。
浅拷贝:
浅拷贝只会复制对象的表层数据,如果对象内部还包含了引用其他对象(如数组或另一个对象),那么这些引用对象不会被复制,而是仍然指向原对象。
JavaScript 中的 Object.assign() 和展开运算符(...)都是实现浅拷贝的方法。
深拷贝:
深拷贝不仅会复制对象的表层数据,如果对象内部还包含了引用其他对象(如数组或另一个对象),那么这些引用对象也会被复制,而不再是仅仅指向原对象。
实现深拷贝的方法有很多,例如使用 JSON.parse(JSON.stringify(obj)) 或者使用一些库函数(如 lodash 的 _.cloneDeep)。展开评论点赞 - nvm 常用指令
nvm install stable //安装最新版 node
nvm install [node版本号] //安装指定版本的node
nvm ls // 查看已安装版本
nvm use [node版本号] //切换到指定版本的node
nvm alias default [node版本号] //设置默认版本
nvm list installed 查看已经安装的版本
nvm list available 查看网络可以安装的版本
nvm version 查看当前的版本
nvm install 安装最新版本nvm
nvm use <version> ## 切换使用指定的版本node
nvm current显示当前版本
nvm alias <name> <version> ## 给不同的版本号添加别名
nvm unalias <name> ## 删除已定义的别名
nvm reinstall-packages <version> ## 在当前版本node环境下,重新全局安装指定版本号的npm包
nvm on 打开nodejs控制
nvm off 关闭nodejs控制
nvm proxy 查看设置与代理
nvm node_mirror [url] 设置或者查看setting.txt中的node_mirror,如果不设置的默认是nodejs.org
nvm npm_mirror [url] 设置或者查看setting.txt中的npm_mirror,如果不设置的话默认的是:github.com
nvm uninstall <version> 卸载指定的版本
nvm use [version] [arch] 切换制定的node版本和位数
nvm root [path] 设置和查看root路径展开评论点赞 - npm、yarn和pnpm都是JavaScript的包管理工具,它们的主要区别如下:
性能:在处理依赖安装时,yarn和pnpm相对于npm会更快,因为它们支持并行安装。但是在其他方面,如缓存等,各自的性能表现可能有所不同。
安全性:yarn和pnpm相对于npm有更好的安全性,因为它们提供了更严格的依赖版本锁定机制。例如,yarn.lock文件中列出的依赖版本不会被修改。
可靠性:由于依赖的版本锁定机制,yarn和pnpm可以更可靠地重建相同的环境。
兼容性:npm是Node.js的默认包管理器,因此它们是高度兼容的。yarn和pnpm也是基于npm的,并且可以与npm存储库和包配合使用,但是由于某些操作行为的差异,可能会导致一些兼容性问题
1.npm
使用npm i 下载的node_modules文件 里面的包之间的关系是树关系,比如 node_modules有A,B两个包 两个包又同时依赖了C 那么C包就会被安装两次在A,B文件中 这一来就造成了磁盘上的资源浪费 而且不好管理每个包的版本 会出现幽灵依赖(package.json 中声明的依赖,但在项目中依然可以意外的被正确引用。)
2.yarn
yarn的出现解决了 npm 多次下载同一个包的问题 他会把的文件树扁平化 不管包与包之前有多深 都会被提出来 然后多个文件依赖一个包的话就会指向一个地方 yarn 使用单独的缓存目录,并把每个包的所有版本都下载到本地,每个项目都使用相同的 node_modules 目录。
3.pnpm
PNPM 也使用单独的缓存目录,但它只下载每个包的最新版本,并在项目中使用符号链接来引用缓存中的依赖,从而实现更好的磁盘占用和更快的安装速度。展开评论点赞 - MySQL的事务的四大特性:
原子性(Atomicity):一个事务中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节,而且事务在执行过程中发生错误,会被回滚到事务开始前的状态,就像这个事务从来没有执行过一样,就好比买一件商品,购买成功时,则给商家付了钱,商品到手;购买失败时,则商品在商家手中,消费者的钱也没花出去。
一致性(Consistency):是指事务操作前和操作后,数据满足完整性约束,数据库保持一致性状态。比如,用户 A 和用户 B 在银行分别有 800 元和 600 元,总共 1400 元,用户 A 给用户 B 转账 200 元,分为两个步骤,从 A 的账户扣除 200 元和对 B 的账户增加 200 元。一致性就是要求上述步骤操作后,最后的结果是用户 A 还有 600 元,用户 B 有 800 元,总共 1400 元,而不会出现用户 A 扣除了 200 元,但用户 B 未增加的情况(该情况,用户 A 和 B 均为 600 元,总共 1200 元)。
隔离性(Isolation):数据库允许多个并发事务同时对其数据进行读写和修改的能力,隔离性可以防止多个事务并发执行时由于交叉执行而导致数据的不一致,因为多个事务同时使用相同的数据时,不会相互干扰,每个事务都有一个完整的数据空间,对其他并发事务是隔离的。也就是说,消费者购买商品这个事务,是不影响其他消费者购买的。
持久性(Durability):事务处理结束后,对数据的修改就是永久的,即便系统故障也不会丢失。展开评论点赞