<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Mahuicool的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Mahuicool</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Mahuicool]]></copyright><item><title><![CDATA[记一次浏览器debugger无法触发的问题]]></title><link>https://blog.youkuaiyun.com/Mahuicool/article/details/146334103</link><guid>https://blog.youkuaiyun.com/Mahuicool/article/details/146334103</guid><author>Mahuicool</author><pubDate>Tue, 18 Mar 2025 10:24:08 +0800</pubDate><description><![CDATA[由于按钮的disabled属性原本就有两个条件来控制，增加第三个条件后逻辑就有点太复杂，不适合直接写在属性后，于是就想用计算属性来实现，这时候又遇到一个问题，这几个判断条件都用到了父元素传递的数据，因此也必须要通过computed传参。一切问题都解决了，就看最后结果了。在computed中用debugger打断点，看看当前时间改变后computed是否能触发，结果一看一个不出声，debugger不论怎么写浏览器都执行不到，没有效果。深层原因没有细究，问题是解决了，逻辑没问题，一切正常跑通。]]></description><category></category></item><item><title><![CDATA[报错：Cannot read properties of null (reading ‘ce‘)解决方法]]></title><link>https://blog.youkuaiyun.com/Mahuicool/article/details/145779312</link><guid>https://blog.youkuaiyun.com/Mahuicool/article/details/145779312</guid><author>Mahuicool</author><pubDate>Fri, 21 Feb 2025 15:53:44 +0800</pubDate><description><![CDATA[报错 第三方插件]]></description><category></category></item><item><title><![CDATA[js中this的指向问题]]></title><link>https://blog.youkuaiyun.com/Mahuicool/article/details/144067796</link><guid>https://blog.youkuaiyun.com/Mahuicool/article/details/144067796</guid><author>Mahuicool</author><pubDate>Tue, 26 Nov 2024 21:35:40 +0800</pubDate><description><![CDATA[js中this的指向不是在定义的时候确定的，而是在调用时明确。]]></description><category></category></item><item><title><![CDATA[vue3 watch 无法监测父组件props的问题]]></title><link>https://blog.youkuaiyun.com/Mahuicool/article/details/143056929</link><guid>https://blog.youkuaiyun.com/Mahuicool/article/details/143056929</guid><author>Mahuicool</author><pubDate>Fri, 18 Oct 2024 16:39:37 +0800</pubDate><description><![CDATA[工作中遇到一个问题，子组件需要根据父组件传递的props做出相应的逻辑处理，但是watch监听始终拦截父组件对于props的改变。子组件代码如下：})不论是增加deep还是增加immetate都不起作用。翻阅了大量文章，最后终于找到了原因。原来是watch监听对象属性变化是，不能这么写，要把watch的第一个参数写成函数形式，否则监听不到。//修改后的代码})先记录一下，后续探讨问题的深层原因。]]></description><category></category></item><item><title><![CDATA[vite解决前端跨域步骤]]></title><link>https://blog.youkuaiyun.com/Mahuicool/article/details/140789014</link><guid>https://blog.youkuaiyun.com/Mahuicool/article/details/140789014</guid><author>Mahuicool</author><pubDate>Tue, 30 Jul 2024 09:56:30 +0800</pubDate><description><![CDATA[Vite 解决跨域问题的原理主要是通过其内置的开发服务器功能实现的，具体来说，是通过 HTTP 代理（HTTP Proxy）机制。在开发环境中，Vite 服务器可以配置为一个代理服务器，将前端应用发出的请求转发到实际的后端服务上，从而绕过浏览器的同源策略限制。为了使目标服务器接受请求，Vite 服务器会修改请求的 Host 和 Origin 头部，使其看起来像是从目标服务器的域发出的。整个代理过程对前端应用是透明的，即前端应用无需关心请求是如何被转发的，只需要按照正常的请求方式发出请求即可。]]></description><category></category></item><item><title><![CDATA[try catch 解决大问题]]></title><link>https://blog.youkuaiyun.com/Mahuicool/article/details/140323392</link><guid>https://blog.youkuaiyun.com/Mahuicool/article/details/140323392</guid><author>Mahuicool</author><pubDate>Wed, 10 Jul 2024 14:44:49 +0800</pubDate><description><![CDATA[项目开发中遇到一个棘手的bug，react前端项目独自运行时一切正常，但是把项目集成到使用wujie的大平台微前端项目中之后，突然有个地方无故报错，导致程序运行停止，后续的方法不再执行。]]></description><category></category></item><item><title><![CDATA[ES6 .entries用法]]></title><link>https://blog.youkuaiyun.com/Mahuicool/article/details/139619045</link><guid>https://blog.youkuaiyun.com/Mahuicool/article/details/139619045</guid><author>Mahuicool</author><pubDate>Wed, 12 Jun 2024 10:16:34 +0800</pubDate><description><![CDATA[返回数组的可迭代对象itarator,可以通过for of 来遍历数组或对象的值。但是它们的写法不一样。]]></description><category></category></item><item><title><![CDATA[大屏幕适配方法之：transform:scale()]]></title><link>https://blog.youkuaiyun.com/Mahuicool/article/details/139176326</link><guid>https://blog.youkuaiyun.com/Mahuicool/article/details/139176326</guid><author>Mahuicool</author><pubDate>Fri, 24 May 2024 16:01:01 +0800</pubDate><description><![CDATA[CSS3新增的属性transform主要用于设置元素的变形，比如旋转、倾斜、缩放等。我们今天要用到的正式它的缩放功能transform:scale()]]></description><category></category></item><item><title><![CDATA[重学ES6之一]]></title><link>https://blog.youkuaiyun.com/Mahuicool/article/details/138846167</link><guid>https://blog.youkuaiyun.com/Mahuicool/article/details/138846167</guid><author>Mahuicool</author><pubDate>Tue, 14 May 2024 11:04:53 +0800</pubDate><description><![CDATA[* ES6声明变量的6种方式：** var  function (es5) let const import     class。ES6提供了顶层对象:globalThis，它方便我们在不同的环境中（浏览器、node）去访问顶层对象。]]></description><category></category></item><item><title><![CDATA[iframe通信postMessage]]></title><link>https://blog.youkuaiyun.com/Mahuicool/article/details/138564315</link><guid>https://blog.youkuaiyun.com/Mahuicool/article/details/138564315</guid><author>Mahuicool</author><pubDate>Wed, 08 May 2024 11:30:21 +0800</pubDate><description><![CDATA[iframe嵌入页面是实现微前端的方式之一。由于浏览器的跨域限制，iframe与父页面之间的通信变得不是那么容易。postMessage解决了这个问题。从广义上讲，一个窗口可以获得对另一个窗口的引用（比如 targetWindow = window.parent），然后在窗口上调用 targetWindow.postMessage() 方法分发一个 MessageEvent 消息。]]></description><category></category></item><item><title><![CDATA[报错：Error: @vitejs/plugin-vue requires vue (＞=3.2.13) or @vue/compiler-sfc to be present in the depen]]></title><link>https://blog.youkuaiyun.com/Mahuicool/article/details/138300959</link><guid>https://blog.youkuaiyun.com/Mahuicool/article/details/138300959</guid><author>Mahuicool</author><pubDate>Mon, 29 Apr 2024 09:13:09 +0800</pubDate><description><![CDATA[从github下clone了一个wujie微前端演示项目，下载到本地运行不起来，报如下错误：看字面意思这个报错应该是说vue版本不正确导致的，于是安装了最新版的vue，结果还是无果。上网查询相关报错的解决方法，有人说是这个插件版本不正确导致，于是卸载重装，还是没有解决。有的说建议删掉node_modules，清除缓存后重新下载。依然没用。stackoverflow上有人对这个报错进行了提问，下面有回答说可能是node版本导致，突然想起来我们公司这个项目因为年代比较久远使用了比较老的node版本，然后使用nv]]></description><category></category></item><item><title><![CDATA[微前端技术之Web Components]]></title><link>https://blog.youkuaiyun.com/Mahuicool/article/details/138270595</link><guid>https://blog.youkuaiyun.com/Mahuicool/article/details/138270595</guid><author>Mahuicool</author><pubDate>Sun, 28 Apr 2024 10:49:11 +0800</pubDate><description><![CDATA[Web Component 是一套技术，允许你创建可重用定制的元素（它们的功能封装在你的代码之外）并且在你的web应用中使用它们。通俗来讲就是将部分可重用的代码抽离，封装成一个独立的组件，方便在其他地方引用。Web components旨在解决这个问题，它有三项主要技术组成，它们可以一起使用来创建封装功能的定制元素。]]></description><category></category></item><item><title><![CDATA[text-overflow:ellipsis失效]]></title><link>https://blog.youkuaiyun.com/Mahuicool/article/details/138205658</link><guid>https://blog.youkuaiyun.com/Mahuicool/article/details/138205658</guid><author>Mahuicool</author><pubDate>Fri, 26 Apr 2024 09:18:36 +0800</pubDate><description><![CDATA[text-overflow:ellipses用于设置文本超出显示‘…’，工作中遇到设置不上的问题，所以总结一下。]]></description><category></category></item><item><title><![CDATA[善于利用window挂在全局变量]]></title><link>https://blog.youkuaiyun.com/Mahuicool/article/details/136738961</link><guid>https://blog.youkuaiyun.com/Mahuicool/article/details/136738961</guid><author>Mahuicool</author><pubDate>Fri, 15 Mar 2024 14:32:49 +0800</pubDate><description><![CDATA[开发过程成中遇到一个奇怪的问题，打开一个echats图表之后，关闭echarts图再进入其他页面页面会报错提示“"赋值给window，在跳转的页面中let $ = window.$解决问题。却回不到原来的版本。最后的解决办法是在关闭。文件然后在本地绘制而成。图后，再页面中插入的引入。标签也会去掉，但程序中的。经过一步步定位，发现。文件中有另一个版本的。文件，导致原来使用的。]]></description><category></category></item><item><title><![CDATA[换个思路，豁然开朗]]></title><link>https://blog.youkuaiyun.com/Mahuicool/article/details/136554533</link><guid>https://blog.youkuaiyun.com/Mahuicool/article/details/136554533</guid><author>Mahuicool</author><pubDate>Fri, 08 Mar 2024 10:18:35 +0800</pubDate><description><![CDATA[遇到一个bug参数的格式不对，导致原有逻辑报错，本以为是哪里定义参数的地方有问题，查询几个小时无结果，结果是antd组件升级导致的树组件TreeNode格式变化。按照现有的数据格式，稍微调整下原有逻辑，代码立刻跑通，问题解决！遇到长时间无法解决的问题，可以先喝口水冷静几分钟，推翻原有逻辑，换个思路说不定豁然开朗。]]></description><category></category></item><item><title><![CDATA[React Hooks的理解]]></title><link>https://blog.youkuaiyun.com/Mahuicool/article/details/136257926</link><guid>https://blog.youkuaiyun.com/Mahuicool/article/details/136257926</guid><author>Mahuicool</author><pubDate>Fri, 23 Feb 2024 16:00:06 +0800</pubDate><description><![CDATA[React中的数据实现响应式相对于Vue2来说要麻烦一些，Vue2中所有的变量都存放在了data当中，只要定义在data当中的数据，Vue底层就会自动把他们设置为响应式。React中的响应式数据被称作"state"，state区别于普通变量，它实现了响应式，当我们修改它时就会触发React进行重新渲染。Vue3应该是参考了React中对于响应式的设定，取消了内部自动设置响应式的方式，而是需要开发者手动添加变量的响应式(ref、reactive)。]]></description><category></category></item><item><title><![CDATA[前端安全之XSS、CSRF]]></title><link>https://blog.youkuaiyun.com/Mahuicool/article/details/135901071</link><guid>https://blog.youkuaiyun.com/Mahuicool/article/details/135901071</guid><author>Mahuicool</author><pubDate>Sun, 28 Jan 2024 21:58:43 +0800</pubDate><description><![CDATA[而如果黑客要对银行网站实施 CSRF 攻击，他只能在他自己的网站构造请求，当用户通过黑客的网站发送请求到银行时，该请求的 Referer 是指向黑客自己的网站。当你登录一个网站A后，在没有登出的情况下，你又跑到一个其他的论坛上闲逛，然后你看到一个美女的图片，你出于好奇心，点击了美女图片，这个时候，可能就被攻击了；原因是美女图片的的超链接（link）可能是不法分子弄的，指向的可能是A网站，由于你在A网站还是登陆态，那么你点击的这个link就是以你登录态的进行的，比如可以用你的登录态发布评论；]]></description><category></category></item><item><title><![CDATA[H5设备兼容处理方法]]></title><link>https://blog.youkuaiyun.com/Mahuicool/article/details/135899883</link><guid>https://blog.youkuaiyun.com/Mahuicool/article/details/135899883</guid><author>Mahuicool</author><pubDate>Sun, 28 Jan 2024 20:20:10 +0800</pubDate><description><![CDATA[通过navigator.userAgent来判断设备类型，在需要差异化定制样式的地方，给相应的元素添加设定好的class。]]></description><category></category></item><item><title><![CDATA[前端缓存机制]]></title><link>https://blog.youkuaiyun.com/Mahuicool/article/details/135745362</link><guid>https://blog.youkuaiyun.com/Mahuicool/article/details/135745362</guid><author>Mahuicool</author><pubDate>Mon, 22 Jan 2024 13:08:53 +0800</pubDate><description><![CDATA[浏览器的localStorage和sessionStorage等不属于浏览器的缓存概念，准确的说应该属于“浏览器的本地存储”不要讲两者混淆。]]></description><category></category></item><item><title><![CDATA[tsconfig.json配置详解]]></title><link>https://blog.youkuaiyun.com/Mahuicool/article/details/135726692</link><guid>https://blog.youkuaiyun.com/Mahuicool/article/details/135726692</guid><author>Mahuicool</author><pubDate>Sun, 21 Jan 2024 10:49:55 +0800</pubDate><description><![CDATA[【代码】tsconfig.json配置详解。]]></description><category></category></item></channel></rss>