04 2022 档案
摘要:命名空间组件 可以使用带点的组件标记,例如 <Foo.Bar> 来引用嵌套在对象属性中的组件。这在需要从单个文件中导入多个组件的时候非常有用: Components/index.ts 用于导出组件 import Foo from './Foo.vue'; import Bar from './Bar
阅读全文
摘要:递归组件 因为自动组件名推断的缘故,一个单文件组件可以通过它的文件名被其自己所引用。例如:名为 Foo.vue 的组件可以在其模板中用 <Foo/> 引用它自己。 实例 显示菜单递归用法 效果图 父组件 <template> <ComMenu :list="list" /> </template>
阅读全文
摘要:Vue3的setup语法糖是个好东西,但使用setup语法带来的第一个问题就是无法自定义name,而我们使用keep-alive往往是需要name的,解决这个问题通常是通过写两个script标签来解决,一个使用setup,一个不使用 父组件 <template> {{com}} <button @c
阅读全文
摘要:产生问题原因 用typeof运算符来判断不足地方 typeof是javascript原生提供的判断数据类型的运算符,它会返回一个表示参数的数据类型的字符串,例如: 以下是在MDN的文档中找到的一张包含typeof运算法的针对不同类型的输出结果: console.log(typeof 2); // n
阅读全文
摘要:比较两个数字自面量如(1 1) 或者布尔型字面量(true false)是有意义的 但是==运算符和 运算符无法用来比较对象,这是因为他们是按引用而不是按值进行比较的。 浅复制对象的属性比较算法:这是一种非递归的浅复制算法,换句话说,我们只比较附属于对象的第一类属性,冰壁比较属性的属性,在大多情况下
阅读全文
摘要:一、Object.assign是什么? 首先了解下Object.assign()是什么。我们先看看ES6官方文档是怎么介绍的? Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。 简单来说,就是Object.assign()是对象的静态方
阅读全文
摘要:Map的使用场景 Map类似于对象,是键值对的集合,数据可为任意类型,与Object的区别在于Object的键只能是字符串或者Symbols,但Map可以为任意类型,且Map中的键值是有序的,Map有一个比较特殊的应用场景。如果你在开发时不确定键值对里面的键的名称,那么你需要用Map。 Map对象的
阅读全文
摘要:Set的使用场景Set和Array的区别是Set里的每一个元素都是唯一的,比如你有一个Array里面有4个元素[1, 2, 3, 1,4],如果你把它转换成Set,就变成[1, 2, 3,4]了。所以我们可以利用Set的这个特性做整数数组的去重。但要注意的是,如果你的数组是[{name: 1}, {
阅读全文
摘要:Volar是什么 与vetur相同,volar是一个针对vue的vscode插件,不过与vetur不同的是,volar提供了更为强大的功能,让人赞叹。 安装的方式很简单,直接在vscode的插件市场搜索volar,然后点击安装就可以了。 Volar的功能 重头戏来了! Volar作为vue的二代插件
阅读全文
摘要:兼容性注意 Vite 需要 Node.js 版本 >= 12.0.0。 使用 NPM: $ npm init vite@latest 使用 Yarn: $ yarn create vite 使用 PNPM: $ pnpm create vite 你还可以通过附加的命令行选项直接指定项目名称和你想要使
阅读全文
摘要:如何将Promise.then中的值直接return出来 产生的问题描述:Promise 如何返回值,而不是返回 Promise 对象。实际开发中使用封装好的异步请求函数,为什么调用该函数返回的值一直都是 undefined。 一、需求 定义一个 foo 函数,在里面执行异步操作,然后取得 Prom
阅读全文
摘要:vue3.2 到底更新了什么? 根据原⽂内容的更新的内容主要有以下 5 块: 1.SSR:服务端渲染优化。@vue/server-renderer包加了⼀个ES模块创建, 与Node.js解耦,使在⾮Node环境⽤@vue/serve-render做服务端渲染成为可能, ⽐如(Workers、Ser
阅读全文