<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[luoteen的博客]]></title><description><![CDATA[越努力越幸运]]></description><link>https://blog.youkuaiyun.com/louting249</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; louting249]]></copyright><item><title><![CDATA[输入框回车导致浏览器刷新]]></title><link>https://blog.youkuaiyun.com/louting249/article/details/135090603</link><guid>https://blog.youkuaiyun.com/louting249/article/details/135090603</guid><author>louting249</author><pubDate>Tue, 19 Dec 2023 17:53:29 +0800</pubDate><description><![CDATA[输入框回车导致浏览器刷新]]></description><category></category></item><item><title><![CDATA[一个数组对象根据另外一个数组的值的顺序进行排序]]></title><link>https://blog.youkuaiyun.com/louting249/article/details/130599016</link><guid>https://blog.youkuaiyun.com/louting249/article/details/130599016</guid><author>louting249</author><pubDate>Wed, 10 May 2023 13:39:32 +0800</pubDate><description><![CDATA[【代码】一个数组对象根据另外一个数组的值的顺序进行排序。]]></description><category></category></item><item><title><![CDATA[解决Vue3 默认槽的非函数值 - Non-function value encountered for default slot 的警告]]></title><link>https://blog.youkuaiyun.com/louting249/article/details/129385745</link><guid>https://blog.youkuaiyun.com/louting249/article/details/129385745</guid><author>louting249</author><pubDate>Tue, 07 Mar 2023 16:58:34 +0800</pubDate><description><![CDATA[解决警告⚠️：[Vue warn]: Non-function value encountered for default slot. Prefer function slots for better performance. ]]></description><category></category></item><item><title><![CDATA[vue3 template编译出来了的，并且出现了#document-fragment，里面的内容显示不出来解决方法]]></title><link>https://blog.youkuaiyun.com/louting249/article/details/128828366</link><guid>https://blog.youkuaiyun.com/louting249/article/details/128828366</guid><author>louting249</author><pubDate>Wed, 01 Feb 2023 10:45:55 +0800</pubDate><description><![CDATA[原因猜想：template也是一个html标签，可能为了区分原始的标签和vue的模板吧！3. 解决方法: 在vue3 template编译出来了的，并且出现了#document-fragment，里面的内容显示不出来解决方法template标签上加一个 v-if=“true”现在依然是在页面中没有显现出来，dom元素都没有存在。2. 往div里面再加点内容看看。]]></description><category></category></item><item><title><![CDATA[vue 接口请求下载文件]]></title><link>https://blog.youkuaiyun.com/louting249/article/details/124479080</link><guid>https://blog.youkuaiyun.com/louting249/article/details/124479080</guid><author>louting249</author><pubDate>Thu, 28 Apr 2022 17:24:02 +0800</pubDate><description><![CDATA[在api文件中的接口定义：
export function downLoadFile (q) {
    return axios({
      url: '/file/downLoadFile',
      method: 'get',
      params: q,
      responseType: 'blob'
    })
  }

下载按钮的调用方法：
down(id) {
  downLoadFile({id}).then(res =&gt; {
    let blob = new]]></description><category></category></item><item><title><![CDATA[Object.keys() 返回值顺序]]></title><link>https://blog.youkuaiyun.com/louting249/article/details/122678916</link><guid>https://blog.youkuaiyun.com/louting249/article/details/122678916</guid><author>louting249</author><pubDate>Tue, 25 Jan 2022 09:39:17 +0800</pubDate><description><![CDATA[创建一个空的列表用于存放 keys
将所有合法的数组索引按升序的顺序存入
将所有字符串类型索引按属性创建时间以升序的顺序存入
将所有 Symbol 类型索引按属性创建时间以升序的顺序存入
返回 keys


其中合法的数组索引 ，也即只有正整数才行，负数或者浮点数，一律当做字符串处理。严格来说对象属性没有数字类型的，无论是数字还是字符串，都会被当做字符串来处理。

结合上面的规范，可以思考一下下面这段代码会输出什么：
const testObj = {}

testObj[-1] = ''
testObj.]]></description><category></category></item><item><title><![CDATA[vscode 实用插件]]></title><link>https://blog.youkuaiyun.com/louting249/article/details/122187518</link><guid>https://blog.youkuaiyun.com/louting249/article/details/122187518</guid><author>louting249</author><pubDate>Tue, 28 Dec 2021 13:06:46 +0800</pubDate><description><![CDATA[Chinese (Simplified) Language Pack for Visual Studio Code
设置中文显示


open in browser
从浏览器中查看html文件，使用系统的当前默认浏览器


One Dark Pro
设置vscode的颜色，这个颜色比默认的黑色更淡，对眼睛没有那么的刺眼


Auto Close Tag
自动补全html标签


Auto Import
自动导入包插件


Auto Rename Tag
重命名一个HTML / XML标签时，自动重命名配..]]></description><category></category></item><item><title><![CDATA[el-tree实现单选]]></title><link>https://blog.youkuaiyun.com/louting249/article/details/122099289</link><guid>https://blog.youkuaiyun.com/louting249/article/details/122099289</guid><author>louting249</author><pubDate>Thu, 23 Dec 2021 09:32:50 +0800</pubDate><description><![CDATA[实现之后的单选效果图：

下面贴代码：
结构：
&lt;el-input
  placeholder="输入关键字进行过滤"
  v-model="filterText"&gt;
&lt;/el-input&gt;

&lt;el-tree
  class="filter-tree"
  :data="treeObj.optionList"
  :props="defaultProps"
  node-key="value"
  :check-strictly="true"
  default-expand]]></description><category></category></item><item><title><![CDATA[滚动条样式优化]]></title><link>https://blog.youkuaiyun.com/louting249/article/details/121993956</link><guid>https://blog.youkuaiyun.com/louting249/article/details/121993956</guid><author>louting249</author><pubDate>Fri, 17 Dec 2021 13:13:55 +0800</pubDate><description><![CDATA[我的是vue-element-admin项目搭建的，我在src/style/index.scss中加入下面样式
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  border-radius: 8px;
}
::-webkit-scrollbar-thumb {
  border-radius: 8px;
  background: #ddd;
}
::-webkit-scrollbar-thumb:hover{
  bac]]></description><category></category></item><item><title><![CDATA[前端入职必备]]></title><link>https://blog.youkuaiyun.com/louting249/article/details/120032733</link><guid>https://blog.youkuaiyun.com/louting249/article/details/120032733</guid><author>louting249</author><pubDate>Wed, 01 Sep 2021 10:47:42 +0800</pubDate><description><![CDATA[一、安装vscode
vsocode安装
二、安装node
node安装
三、安装git
git安装
四、安装nvm
前往这个github下载nvm-setup.zip
五、安装nrm

npm install -g nrm
nrm ls
nrm use taobao

六、安装Sourcetree
下载安装sourcetree
七、vscode插件

Chinese (Simplified) Language Pack for Visual Studio Code
设置中文显示
open in brows]]></description><category></category></item><item><title><![CDATA[移动端线上调试工具]]></title><link>https://blog.youkuaiyun.com/louting249/article/details/119646694</link><guid>https://blog.youkuaiyun.com/louting249/article/details/119646694</guid><author>louting249</author><pubDate>Thu, 12 Aug 2021 16:02:18 +0800</pubDate><description><![CDATA[在项目index.html中加入这两行代码
&lt;script src="//cdn.bootcdn.net/ajax/libs/eruda/2.3.3/eruda.js"&gt;&lt;/script&gt;
  &lt;script&gt;eruda.init();&lt;/script&gt;


]]></description><category></category></item><item><title><![CDATA[2021-07-02]]></title><link>https://blog.youkuaiyun.com/louting249/article/details/118416664</link><guid>https://blog.youkuaiyun.com/louting249/article/details/118416664</guid><author>louting249</author><pubDate>Mon, 02 Aug 2021 09:04:23 +0800</pubDate><description><![CDATA[我对闭包的理解：


函数嵌套函数，里面的函数词法作用域能访问外部函数的内部作用域，然后把里面的函数本身当作一个值类型进行传递，（在上图中，我们就是将bar所引用的函数对象本身当作返回值）。并且我们通常会期待外部函数的整个内部作用域都被销毁，因为我们知道引擎有垃圾回收器来释放不再使用的内存空间。但是闭包的神奇之处正是可以阻止这件事情的发生，事实上内部作用域依然存在，因此没有被回收，里面的函数在使用这个内部作用域，然而里面函数对该作用域的引用就叫作闭包。
其实身边有很多，比如定时器、事件监听器、Ajax请求.]]></description><category></category></item><item><title><![CDATA[JavaScript数字精度丢失问题的处理]]></title><link>https://blog.youkuaiyun.com/louting249/article/details/119180567</link><guid>https://blog.youkuaiyun.com/louting249/article/details/119180567</guid><author>louting249</author><pubDate>Wed, 28 Jul 2021 15:05:12 +0800</pubDate><description><![CDATA[理论上用有限的空间来存储无限的小数是不可能保证精确的，但我们可以处理一下得到我们期望的结果
当你拿到 1.4000000000000001 这样的数据要展示时，建议使用 toPrecision 凑整并parseFloat转成数字后再显示，如下：
parseFloat(1.4000000000000001.toPrecision(12)) === 1.4  // True

封装成方法就是：
function strip(num, precision = 12) {
  return +parseFloat(]]></description><category></category></item><item><title><![CDATA[处理浮点数]]></title><link>https://blog.youkuaiyun.com/louting249/article/details/118156039</link><guid>https://blog.youkuaiyun.com/louting249/article/details/118156039</guid><author>louting249</author><pubDate>Wed, 23 Jun 2021 16:28:05 +0800</pubDate><description><![CDATA[常见的出现浮点数有以下这些情况：

使用原生方法解决：
parseFloat((0.1 + 0.2).toFixed(10))
// 输出0.3



]]></description><category></category></item><item><title><![CDATA[等待一段时间继续执行-- setTimeout]]></title><link>https://blog.youkuaiyun.com/louting249/article/details/118109796</link><guid>https://blog.youkuaiyun.com/louting249/article/details/118109796</guid><author>louting249</author><pubDate>Tue, 22 Jun 2021 16:29:12 +0800</pubDate><description><![CDATA[前言
我的业务场景：地址组件从脚本那里拿接口数据，如果表单有两个地址组件，两个地址组件同时加载，以致于第二个组件拿不到数据。所以得每100毫秒调用获取数据的方法，等到第一个组件地址api请求完，然后就有数据返回了。
正文
promise来包装一下setTimeout()来实现一个sleep()
const sleep = function (time) {
  return new Promise((resolve) =&gt; setTimeout(resolve, time))
}

地址组件数据返回
]]></description><category></category></item><item><title><![CDATA[inject 接收不到 provide 中的值]]></title><link>https://blog.youkuaiyun.com/louting249/article/details/114983542</link><guid>https://blog.youkuaiyun.com/louting249/article/details/114983542</guid><author>louting249</author><pubDate>Thu, 18 Mar 2021 16:44:25 +0800</pubDate><description><![CDATA[一、question？？？
1. provide传值

这个 layoutModel 在data中默认值是1，然后通过接口请求，改变它的值

2. inject接收值


此时父组件的值为3，但是inject接收到的值为1

二、Why
因为是接口请求更新数据，但provide在初始的时候就传了一个固定的初始值下去，所以下级组件接收到的是初始值，而不是更新后的值
三、Answer
在data定义的时候采用对象的形式，这样就是传一个地址过去 而不是一个固定的值


...]]></description><category></category></item><item><title><![CDATA[VSCode配置新版i18n]]></title><link>https://blog.youkuaiyun.com/louting249/article/details/113878278</link><guid>https://blog.youkuaiyun.com/louting249/article/details/113878278</guid><author>louting249</author><pubDate>Sat, 20 Feb 2021 10:47:54 +0800</pubDate><description><![CDATA[在VSCode的插件搜索i18n

安装好了之后，点击下图的扩展设置

设置显示语言- zh

指定要使用的框架支持- vue

指定启用文件格式- js

去掉启用命名空间的勾勾

然后就好了，引用了i18n后变成下图这样

这样不太习惯这个格式，就可以去掉刚刚配置里的-在路径原位显示翻译文案，而不是附加在末尾的勾勾

最后就成这样啦，可读性更高



...]]></description><category></category></item><item><title><![CDATA[el-input 设置数字框]]></title><link>https://blog.youkuaiyun.com/louting249/article/details/111406277</link><guid>https://blog.youkuaiyun.com/louting249/article/details/111406277</guid><author>louting249</author><pubDate>Sat, 19 Dec 2020 16:10:39 +0800</pubDate><description><![CDATA[使用el-input的type属性设置为number，结构为
&lt;el-input
  type="number"
  :controls="false"
  size="mini"
  min="0"
  max="30"
  v-model.number="addRuleForm.number"&gt;
&lt;/el-input&gt;

但是设置成那个了，还有一个数量的控制键，有点小丑

然后就通过了css去掉这个控制键
.add-rule-dialog{
  input::-webkit-ou]]></description><category></category></item><item><title><![CDATA[使用el-select时选中值改变但没有渲染变化]]></title><link>https://blog.youkuaiyun.com/louting249/article/details/110947383</link><guid>https://blog.youkuaiyun.com/louting249/article/details/110947383</guid><author>louting249</author><pubDate>Thu, 10 Dec 2020 10:17:48 +0800</pubDate><description><![CDATA[在el-select上绑定change方法，使用this.$forceUpdate()强制更新一下select
&lt;el-select 
	v-model="value" 
	@change="changeSelect"
	placeholder="请选择"&gt;
    &lt;el-option
      v-for="item in options"
      :key="item.value"
      :label="item.label"
      :value="item.val]]></description><category></category></item><item><title><![CDATA[el-table动态合并表格，合并的表格行数是个变量--span-method]]></title><link>https://blog.youkuaiyun.com/louting249/article/details/110946907</link><guid>https://blog.youkuaiyun.com/louting249/article/details/110946907</guid><author>louting249</author><pubDate>Thu, 10 Dec 2020 10:06:31 +0800</pubDate><description><![CDATA[根据自己设定的规则，合并动态行数

线上例子（可动态点击）：https://codepen.io/luoting249/pen/QWKKZPp
下面是代码片段（可把代码粘贴到element在线运行上，可看到效果）：
&lt;script src="//unpkg.com/vue/dist/vue.js"&gt;&lt;/script&gt;
&lt;script src="//unpkg.com/element-ui@2.14.1/lib/index.js"&gt;&lt;/script&gt;
&lt;d]]></description><category></category></item></channel></rss>