<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[sw_onload的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/sw_onload</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; sw_onload]]></copyright><item><title><![CDATA[vue3 父组件获取子组件属性]]></title><link>https://blog.youkuaiyun.com/sw_onload/article/details/116936446</link><guid>https://blog.youkuaiyun.com/sw_onload/article/details/116936446</guid><author>sw_onload</author><pubDate>Mon, 17 May 2021 16:07:02 +0800</pubDate><description><![CDATA[子组件按照普通组件来写，把要让父组件获取的数据return 出去
在父组件中一定要把获取的子组件 return出去，否则是拿不到的
&lt;template&gt;
 &lt;Son ref='sonRef'/&gt;
&lt;/template&gt;
&lt;script lang="ts"&gt;
import {
  defineComponent,  
  ref,
} from 'vue';
export default defineComponent({
  name: 'Login',
  ]]></description><category></category></item><item><title><![CDATA[react router传参 通配符方式匹配参数]]></title><link>https://blog.youkuaiyun.com/sw_onload/article/details/116127097</link><guid>https://blog.youkuaiyun.com/sw_onload/article/details/116127097</guid><author>sw_onload</author><pubDate>Sun, 25 Apr 2021 14:13:59 +0800</pubDate><description><![CDATA[看各大文章路径参数通配规则是这样写的
&lt;Route path='/index(/:aa)' /&gt;

然而，这根本没用！！！
要写成这样
&lt;Route path='/index/:aa?' /&gt;

后边的问号表示这个参数是可选的

]]></description><category></category></item><item><title><![CDATA[chrome扩展抓取请求数据返回的内容]]></title><link>https://blog.youkuaiyun.com/sw_onload/article/details/115250322</link><guid>https://blog.youkuaiyun.com/sw_onload/article/details/115250322</guid><author>sw_onload</author><pubDate>Fri, 26 Mar 2021 17:19:25 +0800</pubDate><description><![CDATA[参考文档链接
chrome.webRequest.onCompleted可以获得网络请求返回的header,但无法获取返回的内容，经过多方研究发现可以用chrome.devtools.network来获取，这丫的也搞了好久呢，一开始根本不知道怎么入手，还是看了这篇文章才有点头绪Chrome插件(扩展)开发全攻略（干货）
这个开发者工具做出来需要在控制台才能看到，话说我也是找了很久，就是可以自定义的面板，跟vue,react那些的开发工具其实是一样的，不过由于只是讲如何抓取数据，这个页面就随便啦，长什么样子都]]></description><category></category></item><item><title><![CDATA[chrome 扩展 Service worker registration failed 解决]]></title><link>https://blog.youkuaiyun.com/sw_onload/article/details/115233526</link><guid>https://blog.youkuaiyun.com/sw_onload/article/details/115233526</guid><author>sw_onload</author><pubDate>Fri, 26 Mar 2021 11:29:06 +0800</pubDate><description><![CDATA[问题：
背景页无效


有几个注意点，
1、版本及格式问题：
这里用的是**“manifest_version”: 3**，所以配置文件（manifest.json）跟2的写法有些不一样了，官网上是这样写

照着官网写，貌似没毛病哦，可是就是出了毛病，背景页无效
2、文件引入问题：
我给放在js文件夹里面了，这样是不对的，background文件要放在根目录。

所以，解决办法就是把background.js放在根目录引入就行了，看图：


完美收官！

...]]></description><category></category></item><item><title><![CDATA[uni-app 快速新建文件 工程配置文件pages,json文件有误]]></title><link>https://blog.youkuaiyun.com/sw_onload/article/details/113500987</link><guid>https://blog.youkuaiyun.com/sw_onload/article/details/113500987</guid><author>sw_onload</author><pubDate>Mon, 01 Feb 2021 10:44:00 +0800</pubDate><description><![CDATA[把page.json文件所有的注释信息删掉再创建就可以了

]]></description><category></category></item><item><title><![CDATA[react 新建的项目报错：Module build failed (from ./node_modules/babel-loader/lib/index.js]]></title><link>https://blog.youkuaiyun.com/sw_onload/article/details/113030438</link><guid>https://blog.youkuaiyun.com/sw_onload/article/details/113030438</guid><author>sw_onload</author><pubDate>Sat, 23 Jan 2021 10:14:47 +0800</pubDate><description><![CDATA[差不多是这种
//报错
Module build failed (from ./node_modules/babel-loader/lib/index.js):


解决
瞎猫碰上死耗子吧，一看这种依赖包的问题，第一想到的就是npm install ，因为新建的项目忘了这一步就试试，没想到真成了。若不成就考虑是不是版本冲突了。

...]]></description><category></category></item><item><title><![CDATA[vue 中使用全局scss]]></title><link>https://blog.youkuaiyun.com/sw_onload/article/details/109194919</link><guid>https://blog.youkuaiyun.com/sw_onload/article/details/109194919</guid><author>sw_onload</author><pubDate>Wed, 21 Oct 2020 09:52:31 +0800</pubDate><description><![CDATA[css的全局样式可以在html中通过link引入，但scss不行，也不能在main.js中引入，只能在配置文件中设置
 &lt;link rel="stylesheet" href="static/style/reset.css" type="text/css"&gt;

1、首先要安装scss依赖
npm install node-sass --save-dev
npm install sass-loader --save-dev
npm install style-loader --save-dev
n]]></description><category></category></item><item><title><![CDATA[正则截取字符串中指定某个字符之前、指定某个字符之后、指定两个字符之间的内容]]></title><link>https://blog.youkuaiyun.com/sw_onload/article/details/109194195</link><guid>https://blog.youkuaiyun.com/sw_onload/article/details/109194195</guid><author>sw_onload</author><pubDate>Wed, 21 Oct 2020 09:24:40 +0800</pubDate><description><![CDATA[截取指定两个字符之间的内容，如下
let str = 'aaabbbcccddd'
str = str.match(/aaa(\S*)ddd/)[1]
console.log(str)
// 得到bbbccc,如果想截取""之间的内容，也是一样，用 match(/"(\S*)"/)[1]
// 比如
let str1 = 'name="xiaoming",age="18"'
str1 = str1.match(/"(\S*)"/)[1]
console.log(str1) // 得到的是  xiaoming]]></description><category></category></item><item><title><![CDATA[es6 合并 去重]]></title><link>https://blog.youkuaiyun.com/sw_onload/article/details/108582971</link><guid>https://blog.youkuaiyun.com/sw_onload/article/details/108582971</guid><author>sw_onload</author><pubDate>Mon, 14 Sep 2020 17:05:36 +0800</pubDate><description><![CDATA[let arr1= [{name:'xxx',age:'19',id:'1'},{name:'yyy',age:'14',id:'2'},{name:'aaa',age:'15',id:'3'}]
let arr2= [{name:'xxx',age:'19',id:'1'},{name:'bbb',age:'19',id:'4'}]
 arr1.push(...arr2) // 合并 此时 arr1里面的数据包含 arr1 和 arr2 中所有的项，不管是不是重复
        let res =  n]]></description><category></category></item><item><title><![CDATA[tinymce 富文本编辑器在多个路由页面切换时不渲染内容且不能编辑要刷新才能正常显示解决方案]]></title><link>https://blog.youkuaiyun.com/sw_onload/article/details/107779685</link><guid>https://blog.youkuaiyun.com/sw_onload/article/details/107779685</guid><author>sw_onload</author><pubDate>Tue, 08 Sep 2020 09:11:36 +0800</pubDate><description><![CDATA[因为做的后台系统做了切换路由功能，使每个路由都keep-alive，使用tinymce编辑器时总是第一次打开渲染不出内容而且不能编辑，都要刷新下才能正常显示和编辑，百度找了许多方法，试了一遍后找到了对我的项目有效的办法：
首先就是给编辑器加上个key，
&lt;tinymce-editor :init="init" v-model="form.container" id="tinymce" :key="tinymceFlag"&gt;&lt;/tinymce-editor&gt;

 data() {
  ]]></description><category></category></item><item><title><![CDATA[这又是什么奇怪的bug（4）duplicate attribute: v-if]]></title><link>https://blog.youkuaiyun.com/sw_onload/article/details/107390350</link><guid>https://blog.youkuaiyun.com/sw_onload/article/details/107390350</guid><author>sw_onload</author><pubDate>Tue, 08 Sep 2020 09:06:19 +0800</pubDate><description><![CDATA[一定有某个地方有两个v-if
报错

问题源

解决 删掉多余的v-if

]]></description><category></category></item><item><title><![CDATA[通过js修改input值同时触发其绑定的方法]]></title><link>https://blog.youkuaiyun.com/sw_onload/article/details/108450242</link><guid>https://blog.youkuaiyun.com/sw_onload/article/details/108450242</guid><author>sw_onload</author><pubDate>Mon, 07 Sep 2020 16:21:00 +0800</pubDate><description><![CDATA[背景：做chrome 扩展插件需要修改原网页中input输入框的值同时要让其双向绑定的数据也发生改变，由于原网页使用的是框架，也没有源码，只能通过js的dispatchEvent方法直接触发input绑定的方法
这里获取dom元素用的是jq方法，后面加上[0]是因为$(‘dom元素’)获取的是dom对象，需要转成jq对象才能调用方法
var event = new InputEvent('input',{bubbles: true})
$('dom元素')[0].dispatchEvent(event)

]]></description><category></category></item><item><title><![CDATA[jq  获取元素内文字报错 text is not a function]]></title><link>https://blog.youkuaiyun.com/sw_onload/article/details/108364308</link><guid>https://blog.youkuaiyun.com/sw_onload/article/details/108364308</guid><author>sw_onload</author><pubDate>Wed, 02 Sep 2020 16:12:58 +0800</pubDate><description><![CDATA[当有多个相同元素时，获取到指定元素内的文字
//获取指定元素 这种方法获取的时dom 元素 不能使用jq对象方法
var currentLi = $("ul li")[1]
// 获取指定元素的内容 需要先将获取的dom元素转化成jq对象 $(任意dom元素) 
console.log($(currentLi ).text())


...]]></description><category></category></item><item><title><![CDATA[chrome扩展开发 content_script 使用iframe的注意事项]]></title><link>https://blog.youkuaiyun.com/sw_onload/article/details/108344264</link><guid>https://blog.youkuaiyun.com/sw_onload/article/details/108344264</guid><author>sw_onload</author><pubDate>Tue, 01 Sep 2020 16:03:30 +0800</pubDate><description><![CDATA[1、关于src路径
如果是用项目中的文件需要通过chrome.extension.getURL(’’)来引入文件
// 动态创建的iframe
var iframeURL = chrome.extension.getURL('iframe.html');
var myIframe = $('&lt;iframe id="cont-iframe"  frameborder="0" scrolling="yes" name="main" src="'+iframeURL+'"&gt;不支持iframe&lt;/]]></description><category></category></item><item><title><![CDATA[watch中监听保持活性的路由如何只处理当前的页面参数的变化]]></title><link>https://blog.youkuaiyun.com/sw_onload/article/details/107779242</link><guid>https://blog.youkuaiyun.com/sw_onload/article/details/107779242</guid><author>sw_onload</author><pubDate>Tue, 04 Aug 2020 09:42:14 +0800</pubDate><description><![CDATA[做的后台系统，每打开一个页面，上方就增加一个路由标签方便来回切换。而当要编辑表格中的数据时往往会打开相同的页面，通过判断路由传入的id来调接口获取数据，因此就需要监听路由。

而为了有些页面切换时不丢失当前操作的数据，如搜索条件，每次切换回来会保持当前浏览到的位置而不会重新刷新，就给路由做了keep-alive，所以这里的监听路由，会监听到地址栏里所有路由的变化。如果别的不相关的页面如果也传了goodsId，当前页面也会执行if里面的代码，也就是会调用接口，当然因为id都不一样的肯定会找不到从而调用失败会弹]]></description><category></category></item><item><title><![CDATA[element 树形控件 自定义样式]]></title><link>https://blog.youkuaiyun.com/sw_onload/article/details/107685875</link><guid>https://blog.youkuaiyun.com/sw_onload/article/details/107685875</guid><author>sw_onload</author><pubDate>Thu, 30 Jul 2020 11:14:02 +0800</pubDate><description><![CDATA[.el-tree 可直接设置树的样式
.el-tree-node 没法直接设置需要用 &gt;&gt;&gt; 或者 /deep/ 若直接  &gt;&gt;&gt; .el-tree-node 设置的是所有子节点的样式，如只是设置树的直系子节点 需要 /deep/ &gt;.el-tree-node{}



...]]></description><category></category></item><item><title><![CDATA[这又是什么奇怪的bug(8) element ui 选择器能监听到选择改变及拿到value 却不显示]]></title><link>https://blog.youkuaiyun.com/sw_onload/article/details/107656838</link><guid>https://blog.youkuaiyun.com/sw_onload/article/details/107656838</guid><author>sw_onload</author><pubDate>Wed, 29 Jul 2020 10:29:15 +0800</pubDate><description><![CDATA[form.region 一开始在form中是没有的,是通过调用接口后才出现，所以，需要在一开始就给form定义 region才能在选择器框中显示

]]></description><category></category></item><item><title><![CDATA[vue this.$once(‘hook:beforeDestory’,()=＞{})]]></title><link>https://blog.youkuaiyun.com/sw_onload/article/details/107605431</link><guid>https://blog.youkuaiyun.com/sw_onload/article/details/107605431</guid><author>sw_onload</author><pubDate>Mon, 27 Jul 2020 10:02:02 +0800</pubDate><description><![CDATA[声明并销毁  this.$once(‘hook:beforeDestory’,()=&gt;{})
可以在任何方法中调用这个方法销毁想要销毁的方法，而不用去生命周期中销毁。

]]></description><category></category></item><item><title><![CDATA[Lodash之throttle（节流）与debounce（防抖）]]></title><link>https://blog.youkuaiyun.com/sw_onload/article/details/107604925</link><guid>https://blog.youkuaiyun.com/sw_onload/article/details/107604925</guid><author>sw_onload</author><pubDate>Mon, 27 Jul 2020 09:44:35 +0800</pubDate><description><![CDATA[转载：Lodash之throttle（节流）与debounce（防抖）总结
throttle API
_.throttle(func, [wait=0], [options={}])
func (Function): 要节流的函数。
[wait=0] (number): 需要节流的毫秒数。
[options={}] (Object): 选项对象。
[options.leading=true] (boolean): 指定调用在节流开始前，默认true。
[options.trailing=true] (boo]]></description><category></category></item><item><title><![CDATA[这又是什么奇怪的bug（7）之node更新后运行项目cannot GET/]]></title><link>https://blog.youkuaiyun.com/sw_onload/article/details/107557379</link><guid>https://blog.youkuaiyun.com/sw_onload/article/details/107557379</guid><author>sw_onload</author><pubDate>Fri, 24 Jul 2020 11:31:41 +0800</pubDate><description><![CDATA[报错信息
Module build failed: Error: Missing binding /Users/fungleo/Sites/MyWork/vuedemo2/node_modules/node-sass/vendor/darwin-x64-57/binding.node
Node Sass could not find a binding for your current environment: OS X 64-bit with Node.js 8.x

Found bindings for]]></description><category></category></item></channel></rss>