
获得徽章 5
- urls的长度为0时,results就没有值,此时应该返回空数组
maxNum大于urls的长度时,应该取的是urls的长度,否则则是取maxNum
需要定义一个count计数器来判断是否已全部请求完成
因为没有考虑请求是否请求成功,所以请求成功或报错都应把结果保存在results集合中
results中的顺序需和urls中的保持一致
展开评论点赞 - defineProps 、defineEmits 、 defineExpose 和 withDefaults 这四个宏函数只能在 <script setup> 中使用。他们不需要导入,会随着 <script setup> 的处理过程中一起被编译。
子组件数据传递到父组件
Vue2 中子组件数据传递到父组件,通常是使用 $emit 触发一个自定义事件来进行传递。但 $emit 无法在 <script setup> 中使用,这时候我们需要使用 defineEmits()展开评论点赞 - Lodash 不止 ES6,有更多 ES6 难以实现的功能,比如常见的深拷贝。
提高开发效率、简化代码。lodash 中的函数,都是社区开发者从多年的实践中提炼出来的常用功能,并且经过广泛的考验和优化,使用库函数往往比自己实现有更好的性能和鲁棒性。
Lodash 支持多种模块化方案,配合 tree shaking 技术或者使用单独的函数模块,几乎不会导致冗余代码。
源码值得仔细读一读学习一下展开评论点赞 - iOS中Native和JavaScriptCore交互小结
总的来说,JavaScriptCore 提供了前端与原生相互调用的接口,接口层上主要用的是 JSContext 和 JSValue 这两个类,
通过 JSValue 的 evaluateScript 方法、Block 赋值 context、JSExport 协议导出来达到互通的效果
展开评论点赞 - 如果我们有对另一个窗口的引用(window.open || iframe),并且该窗口是同源的,那么我们就具有对该窗口的全部访问权限。见代码:2-1 、2-2
如果不是同源的,我们就不能访问窗口中的内容:变量,文档,任何东西。唯一例外是location:我们可以修改它,使用它进行重定向。但是我们无法读取 location 。因此,我们无法看到用户当前所处的位置,也就不会泄露任何信息。
展开评论点赞 - * 使用 $attrs 继承父组件的属性
* 使用 $listeners 继承父组件的事件
* 二次封装时插槽的传递
二次封装尽量遵循的应该是在原组件基础的扩展,不管是为了针对业务还是为了方便使用,而不是为组件重新制定一套新的用法,封装的本质是为了提高使用体验评论点赞 - day2
* 一般路由实现主要有history和hash两种方式
* hash的实现全部在前端,不需要后端服务器配合,兼容性好,主要是通过监听hashchange事件,处理前端业务逻辑
* history的实现,需要服务器做以下简单的配置,通过监听pushState及replaceState事件,处理前端业务逻辑
展开评论点赞 - 详细介绍了vue的组件传值,封装的思路与概念,通过这个文章,对组件封装有个清晰的梳理,对语法糖,表单验证,api组件都进行了举例,总之很nice,有学到东西!已收藏,有空再仔细读读评论点赞