<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[shaleilei的博客]]></title><description><![CDATA[想要做成一件事，除了勤奋，还需要专注与热爱，三者缺一不可。这样才有可能会成功！]]></description><link>https://blog.youkuaiyun.com/shaleilei</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; shaleilei]]></copyright><item><title><![CDATA[VUE3多层组件传值（复杂场景）provide/inject]]></title><link>https://blog.youkuaiyun.com/shaleilei/article/details/139069050</link><guid>https://blog.youkuaiyun.com/shaleilei/article/details/139069050</guid><author>shaleilei</author><pubDate>Mon, 20 May 2024 16:40:30 +0800</pubDate><description><![CDATA[单纯使用provide和inject机制只能实现祖父组件向孙组件传递数据，而无法实现孙组件向祖父组件传递数据。如果需要实现双向通信，可以结合provide和inject与事件机制或状态管理库来完成。]]></description><category></category></item><item><title><![CDATA[mac terminal终端快速打开指定文件夹]]></title><link>https://blog.youkuaiyun.com/shaleilei/article/details/117773771</link><guid>https://blog.youkuaiyun.com/shaleilei/article/details/117773771</guid><author>shaleilei</author><pubDate>Thu, 10 Jun 2021 11:42:46 +0800</pubDate><description><![CDATA[配置好了以后，直接common+B就可以直接在终端显示当前文件夹路径的terminal，开发很实用


]]></description><category></category></item><item><title><![CDATA[多文件逐个上传]]></title><link>https://blog.youkuaiyun.com/shaleilei/article/details/111768290</link><guid>https://blog.youkuaiyun.com/shaleilei/article/details/111768290</guid><author>shaleilei</author><pubDate>Sat, 26 Dec 2020 19:43:34 +0800</pubDate><description><![CDATA[今天遇到一个问题，客户要求多文件逐个上传，因为如果同时上传会出现高并发的情况，带宽不一定允许，所以采用了逐个下载，自己用的是element框架，但是得分两个按钮才行（先选择文件，再有一个上传按钮）；所以最终使用了原生的方法，方法如下：

注意点：1.需要考虑到超时的问题；2.获取的文件集合是个JSON，并不是数组，所以forEach map这种没法用


HTML代码块

&lt;input type="file" id="file" @change="jsUp" multiple&gt;


Javasc]]></description><category></category></item><item><title><![CDATA[vue文件上传下载]]></title><link>https://blog.youkuaiyun.com/shaleilei/article/details/111316517</link><guid>https://blog.youkuaiyun.com/shaleilei/article/details/111316517</guid><author>shaleilei</author><pubDate>Thu, 17 Dec 2020 15:35:18 +0800</pubDate><description><![CDATA[下载文件流
        let headers = res.data.headers;
        let blob = new Blob([res.data.body], {
          type: ["content-type"],
        });
        let link = document.createElement("a");
        link.href = window.URL.createObjectURL(blob);
        const f]]></description><category></category></item><item><title><![CDATA[js单例模式详细解读]]></title><link>https://blog.youkuaiyun.com/shaleilei/article/details/106761052</link><guid>https://blog.youkuaiyun.com/shaleilei/article/details/106761052</guid><author>shaleilei</author><pubDate>Mon, 15 Jun 2020 14:09:59 +0800</pubDate><description><![CDATA[前言
单例模式 (Singleton) 的实现在于保证一个特定类只有一个实例，第二次使用同一个类创建新对象的时候，应该得到与第一次创建对象完全相同的对象。
反向教材
结果是false，为什么呢，因为创建了两次A，hh,bb内存指针指向两个内存地址，所以不相等（PS：这个时候可以结合前言定义来看，我想A只创建一次，第二次不再重新创建，而是使用之前创建的）
    function A(name) {
        var a=1
    }
    var hh=new A()
    var bb=new]]></description><category></category></item><item><title><![CDATA[最新版IDEA安装Background Image Plus插件]]></title><link>https://blog.youkuaiyun.com/shaleilei/article/details/105728161</link><guid>https://blog.youkuaiyun.com/shaleilei/article/details/105728161</guid><author>shaleilei</author><pubDate>Fri, 24 Apr 2020 12:25:03 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[小程序webview数据传输postmessage]]></title><link>https://blog.youkuaiyun.com/shaleilei/article/details/105539208</link><guid>https://blog.youkuaiyun.com/shaleilei/article/details/105539208</guid><author>shaleilei</author><pubDate>Wed, 15 Apr 2020 17:31:22 +0800</pubDate><description><![CDATA[前言

首先个人类型小程序不支持webview的使用，其次需要到微信公众平台配置业务域名，这个业务域名就是webview的合法域名；以上两点是必要条件

代码模块


小程序代码块
&lt;web-view src="http://jialidun.club/" bindmessage="getMSG"&gt;&lt;/web-view&gt;

  getMSG(e){
    console....]]></description><category></category></item><item><title><![CDATA[js几种常见的递归方法]]></title><link>https://blog.youkuaiyun.com/shaleilei/article/details/105413731</link><guid>https://blog.youkuaiyun.com/shaleilei/article/details/105413731</guid><author>shaleilei</author><pubDate>Thu, 09 Apr 2020 16:28:23 +0800</pubDate><description><![CDATA[js几种常见的递归方法

递归的概念：就是函数调用函数本身，或者在自己函数调用的下级调用函数自己；


案例1：求和,1-100    function sun(n){
        if(n==1) return 1
        
    }


案例2：递归方法1,1,2,3,5,8,13,21,34,55,89…求第 n 项   function fib(n) {
        if...]]></description><category></category></item><item><title><![CDATA[js难点汇总01_内存]]></title><link>https://blog.youkuaiyun.com/shaleilei/article/details/105362893</link><guid>https://blog.youkuaiyun.com/shaleilei/article/details/105362893</guid><author>shaleilei</author><pubDate>Tue, 07 Apr 2020 14:00:04 +0800</pubDate><description><![CDATA[正所谓底层基础决定上层建筑，如果想写出优雅高性能的前端应用，就必须了解JS的内存机制。他会帮助你理解譬如：闭包、深浅复制、引用数据类型和引用传递；

堆比栈大，栈比堆的运算速度快,对象是一个复杂的结构，并且可以自由扩展，如：数组可以无限扩充，对象可以自由添加属性。将他们放在堆中是为了不影响栈的效率。而是通过引用的方式查找到堆中的实际对象再进行操作。相对于简单数据类型而言，简单数据类型就比较稳定，并...]]></description><category></category></item><item><title><![CDATA[使用element-ui中的el-upload组件时携带其他参数]]></title><link>https://blog.youkuaiyun.com/shaleilei/article/details/103276850</link><guid>https://blog.youkuaiyun.com/shaleilei/article/details/103276850</guid><author>shaleilei</author><pubDate>Wed, 27 Nov 2019 15:38:01 +0800</pubDate><description><![CDATA[&lt;el-upload
　　action="/api/oss/file/add"
　　:headers="headers" // 如果头部需要传token
　　multiple
　　:limit="1" // 限制文件个数
　　:before-upload="handleBefore"
　　:on-success="handleSuccess"
　　:data="pdfData"
　　acc...]]></description><category></category></item><item><title><![CDATA[VUE-CL教程]]></title><link>https://blog.youkuaiyun.com/shaleilei/article/details/99450539</link><guid>https://blog.youkuaiyun.com/shaleilei/article/details/99450539</guid><author>shaleilei</author><pubDate>Tue, 13 Aug 2019 17:05:13 +0800</pubDate><description><![CDATA[VUE-CLI教程
一、前言：Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统
二、CLI (@vue/cli) 是一个全局安装的 npm 包，提供了终端里的 vue 命令。它可以通过 vue create 快速创建一个新项目的脚手架，或者直接通过 vue serve 构建新想法的原型。你也可以通过 vue ui 通过一套图形化界面管理你的所有项目。我们会在接下来的指南中逐章节深入...]]></description><category></category></item><item><title><![CDATA[vuex教程]]></title><link>https://blog.youkuaiyun.com/shaleilei/article/details/99450476</link><guid>https://blog.youkuaiyun.com/shaleilei/article/details/99450476</guid><author>shaleilei</author><pubDate>Tue, 13 Aug 2019 17:04:26 +0800</pubDate><description><![CDATA[Vuex简介

什么是vuex:


vuex是一个把多个组件通用的数据 我们把它拿出来，然后放到一个store里面管理，在需要使用的组件里面，我们可以拿出来使用


关于store


store基本上就是一个容器，包含着你的应用中大部分的状态（state）


关于state


state就是我们项目全局通用的data的属性，并且这些属性是响应式的，也就是当属性发生改变时，state也会回动...]]></description><category></category></item><item><title><![CDATA[前端开发规范]]></title><link>https://blog.youkuaiyun.com/shaleilei/article/details/98945887</link><guid>https://blog.youkuaiyun.com/shaleilei/article/details/98945887</guid><author>shaleilei</author><pubDate>Fri, 09 Aug 2019 11:24:57 +0800</pubDate><description><![CDATA[前端开发规范
备注：实际开发请以本公司的规范为标准。
一.普通规范
二.HTML\CSS规范
三.Javascript规范
四.UI框架及css预处理器规范
五.脚手架、插件选择规范

普通规范


基本原则：

结构、样式、行为分离
缩进（建议IDEA格式化）
文件编码（统一 UTF-8 ) &lt;meta charset="utf-8"&gt;
一律使用小写字母

	&lt;!-- one ...]]></description><category></category></item><item><title><![CDATA[mac更换包管理器npm/yarn]]></title><link>https://blog.youkuaiyun.com/shaleilei/article/details/94629218</link><guid>https://blog.youkuaiyun.com/shaleilei/article/details/94629218</guid><author>shaleilei</author><pubDate>Thu, 04 Jul 2019 16:43:11 +0800</pubDate><description><![CDATA[前言：我电脑之前用的是yarn安装项目，当时应该是改了系统下面的隐藏文件.vuerc文件
1、方法一：我没搞定，不知道怎么在terminal终端去修改文件，具体命令如下（能力强的操作PS：Linux命令）
vi ~/.vuerc

配上参考的文档，缺点就是日文的文档
https://qiita.com/saken649/items/ccabb2f34cdac784b383
2、方法二：找到文件修改...]]></description><category></category></item><item><title><![CDATA[vue-cli3 取消关闭eslint 校验代码]]></title><link>https://blog.youkuaiyun.com/shaleilei/article/details/89668801</link><guid>https://blog.youkuaiyun.com/shaleilei/article/details/89668801</guid><author>shaleilei</author><pubDate>Mon, 29 Apr 2019 09:51:16 +0800</pubDate><description><![CDATA[用了vue-cli3，这个eslint在疯狂的提示我，严重阻碍了我的日常工作（写bug）
选择生成的时候，有一个询问是否把插件配置文件写在package.json文件里，这里我手贱选择了是，现在开始排坑，vue-cli3没有build/webpack.config.base.js文件，这个时候我们有这个文件.eslintrc.js,实际上我们应该在.eslintrc.js文件中修改：删掉 “@vu...]]></description><category></category></item><item><title><![CDATA[列表中el-switch 开关]]></title><link>https://blog.youkuaiyun.com/shaleilei/article/details/88538568</link><guid>https://blog.youkuaiyun.com/shaleilei/article/details/88538568</guid><author>shaleilei</author><pubDate>Thu, 14 Mar 2019 14:04:32 +0800</pubDate><description><![CDATA[请注意以面的写法，active-value和inactive-value的值分别是字符串的1和0,如果你赋值为数字类型的 1 或 0是无法正常工作的，若赋值为数值类型，需这样写：]]></description><category></category></item><item><title><![CDATA[小程序text组件获取接口返回数据不能换行]]></title><link>https://blog.youkuaiyun.com/shaleilei/article/details/88060863</link><guid>https://blog.youkuaiyun.com/shaleilei/article/details/88060863</guid><author>shaleilei</author><pubDate>Fri, 01 Mar 2019 15:43:08 +0800</pubDate><description><![CDATA[问题描述：本地的换行文本换行可以正常，但是调用接口返回的数据（带\n的数据）不能换行，
备注：text组件才可以换行，view组件是不能自动识别\n换行的
解决方案：两种方案

json的问题
数据库中\n，转json后会变成\\n，所以在不换行，但是你看不到，因为前端拿到的时候这个都是\n
这里使用正则转义：

	questions_result[i].content = questions_r...]]></description><category></category></item><item><title><![CDATA[brew: command not found 进程已完成]]></title><link>https://blog.youkuaiyun.com/shaleilei/article/details/86620584</link><guid>https://blog.youkuaiyun.com/shaleilei/article/details/86620584</guid><author>shaleilei</author><pubDate>Thu, 24 Jan 2019 09:31:38 +0800</pubDate><description><![CDATA[我来先说原因：
 - 是你之前写了`.bash_profile`类似的代码了在终端，我当时是安装yarn，然后最后我用了source .bash_profile最好保存后就出现的问题
 - 看了网上的回答说法众说纷纭，但是我自己试了都没用，最好还是觉得找到我当时写的文件，然后把我写的删除`/bin/bash`，这个目录一般是隐藏的，首先要显示出来，下面是我的步骤]]></description><category></category></item><item><title><![CDATA[npm run dev报错！！]]></title><link>https://blog.youkuaiyun.com/shaleilei/article/details/85113832</link><guid>https://blog.youkuaiyun.com/shaleilei/article/details/85113832</guid><author>shaleilei</author><pubDate>Thu, 20 Dec 2018 10:53:50 +0800</pubDate><description><![CDATA[先看下我的报错
username:backend-atop-oa fulwin$ npm run dev

&amp;gt; backend-atop-oa@1.0.0 dev /Users/fulwin/Documents/codes/backend-atop-oa
&amp;gt; webpack-dev-server --inline --progress --config build/webpack.de...]]></description><category></category></item><item><title><![CDATA[查找SSH Key路径]]></title><link>https://blog.youkuaiyun.com/shaleilei/article/details/84560653</link><guid>https://blog.youkuaiyun.com/shaleilei/article/details/84560653</guid><author>shaleilei</author><pubDate>Tue, 27 Nov 2018 09:45:37 +0800</pubDate><description><![CDATA[

你已经安装过了
一般.ssh文件都是隐藏的，怎么查看呢？open /Users/shalei/.ssh/   shalei是我的用户名，换成你的用户名就行，当然这个是我的安装路径，一般默认都是安装在你的用户根目录的
![在这里插入图片描述](https://img-blog.csdnimg.cn/20181127094452149.png?x-oss-process=image/waterma...]]></description><category></category></item></channel></rss>