<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[m0_46360310的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/m0_46360310</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; m0_46360310]]></copyright><item><title><![CDATA[使用ant design mobile的定制主题时的配置]]></title><link>https://blog.youkuaiyun.com/m0_46360310/article/details/113244165</link><guid>https://blog.youkuaiyun.com/m0_46360310/article/details/113244165</guid><author>m0_46360310</author><pubDate>Wed, 27 Jan 2021 11:34:55 +0800</pubDate><description><![CDATA[官网给出两种配置方式
less
比较简单的方式，用 less 文件进行变量覆盖，但是无法按需加载。
建立一个单独的 less 文件如下，再引入这个文件。
@import "~antd-mobile/dist/antd-mobile.less";   
// 引入官方提供的 less 样式入口文件
@import "your-theme-file.less";   
// 用于覆盖上面定义的变量

theme 属性
使用 modifyVars 的方式来覆盖变量
使用了官网按需加载配置后，再配置自定义主题时出现]]></description><category></category></item><item><title><![CDATA[vue学习关于snabbdom中h函数简单学习了解]]></title><link>https://blog.youkuaiyun.com/m0_46360310/article/details/112601656</link><guid>https://blog.youkuaiyun.com/m0_46360310/article/details/112601656</guid><author>m0_46360310</author><pubDate>Thu, 14 Jan 2021 10:45:48 +0800</pubDate><description><![CDATA[h函数的主要功能是根据传进来的函数返回一个vnode对象，之后便是patch方法将其挂载到页面
//index.js
import h from "./mysnabbdom/h"
let mynode = h("div", {}, [
	h("p", {}, "ll"),
	h("p", {}, "ll"),
	h("p", {}, h("p", {}, "ll"))
])
console.log(mynode)
// 三种情况
// h("div", {}, [h("p", {}, "test"), h(]]></description><category></category></item><item><title><![CDATA[水平垂直居中的方法]]></title><link>https://blog.youkuaiyun.com/m0_46360310/article/details/108702047</link><guid>https://blog.youkuaiyun.com/m0_46360310/article/details/108702047</guid><author>m0_46360310</author><pubDate>Mon, 21 Sep 2020 08:40:30 +0800</pubDate><description><![CDATA[.parent {
	background-color: gray;
	height: 500px;
	width: 500px;
	position: relative;
}
.child {
	background-color: greenyellow;
	height: 100px;
	width: 100px;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}

.parent {
	ba]]></description><category></category></item><item><title><![CDATA[bind.apply和apply.bind是怎么一回事]]></title><link>https://blog.youkuaiyun.com/m0_46360310/article/details/108562737</link><guid>https://blog.youkuaiyun.com/m0_46360310/article/details/108562737</guid><author>m0_46360310</author><pubDate>Sun, 13 Sep 2020 15:20:53 +0800</pubDate><description><![CDATA[在看书的过程中看到Function.apply.bind有些不懂，不知道是怎么回事，平时用的时候都是单个用，没有合到一起过，寻找到原理之后在这里记录一下。
实际上Function.apply.bind和Function.apply.bind的原理都是一样的，
先将fn.bind提出来,然后用apply调用它,此时参数中的apply是add函数,arguments是[add,1,2],apply将bind的this绑定成fn,并且传入参数,arguments,此时的,arguments是[add,1,2],然]]></description><category></category></item><item><title><![CDATA[this指向学习中遇到的问题，arguments[0]()]]></title><link>https://blog.youkuaiyun.com/m0_46360310/article/details/108536936</link><guid>https://blog.youkuaiyun.com/m0_46360310/article/details/108536936</guid><author>m0_46360310</author><pubDate>Fri, 11 Sep 2020 16:32:25 +0800</pubDate><description><![CDATA[原代码
逛社区时看到一段有关this指向的问题，在arguments[0]()这里有些不懂，代码如下：
	var length = 1
		function fn() {
			console.log(this.length)
		}
		const person = {
			length: 2,
			say(fn) {
				fn()
				arguments[0]()
			}
		}
		person.say(fn, 1, 2)

不理解时认为person.say(fn, 1, 2)执行fn(]]></description><category></category></item><item><title><![CDATA[前端基础知识学习，类型，值，深拷贝]]></title><link>https://blog.youkuaiyun.com/m0_46360310/article/details/108536858</link><guid>https://blog.youkuaiyun.com/m0_46360310/article/details/108536858</guid><author>m0_46360310</author><pubDate>Fri, 11 Sep 2020 16:17:26 +0800</pubDate><description><![CDATA[值类型
Number,String,Boolean,Symbol,undefined
通过栈存储
从上往下存储
栈




key
value




a
100






引用类型
Array,Object,Null,Function
通过堆存储，在栈中存储的值是堆中的地址
栈




key
value




a
内存地址


b
内存地址


堆










内存地址
{key:value}


key
value


堆从下往上存储，有可能和栈重合
typeof
能够识别所有的值类型，函]]></description><category></category></item><item><title><![CDATA[$attr与$listeners的学习]]></title><link>https://blog.youkuaiyun.com/m0_46360310/article/details/108018249</link><guid>https://blog.youkuaiyun.com/m0_46360310/article/details/108018249</guid><author>m0_46360310</author><pubDate>Sat, 15 Aug 2020 10:10:11 +0800</pubDate><description><![CDATA[$ attrs和$ listeners是跨多层次组件传值的一种方式。
$attrs
用来继承上级组件的属性
不包括在当前组件里面定义的props属性，也就是说如果用了$attrs的组件里，用props接受了属性之后，该属性就不再向下传递了
$listeners
用来监听。$emit发送来的自定义事件，以及属性。
根组件
&lt;template&gt;
	&lt;div&gt;
		&lt;fieldset&gt;
			&lt;legend&gt;Root&lt;/legend&gt;
			{{ for]]></description><category></category></item><item><title><![CDATA[兄弟组件传值，$emit和$on的使用]]></title><link>https://blog.youkuaiyun.com/m0_46360310/article/details/108011358</link><guid>https://blog.youkuaiyun.com/m0_46360310/article/details/108011358</guid><author>m0_46360310</author><pubDate>Fri, 14 Aug 2020 18:46:24 +0800</pubDate><description><![CDATA[使用之前
使用之前需要注册总线事件
先创建一个空的示例，并且将自定义的$bus绑定到原型上
Vue.prototype.$bus = new Vue()

$emit
发送数据用的
$emit(‘事件名’ , ‘数据’ )
&lt;template&gt;
	&lt;div&gt;
		组件B
		&lt;button @click="send"&gt;发送&lt;/button&gt;
	&lt;/div&gt;
&lt;/template&gt;

&lt;script&gt;
export defau]]></description><category></category></item><item><title><![CDATA[proxy代理简单实现一下vue的双向绑定]]></title><link>https://blog.youkuaiyun.com/m0_46360310/article/details/107415566</link><guid>https://blog.youkuaiyun.com/m0_46360310/article/details/107415566</guid><author>m0_46360310</author><pubDate>Fri, 17 Jul 2020 19:09:07 +0800</pubDate><description><![CDATA[&lt;input type="text" v-model="title" /&gt;
&lt;input type="text" v-model="title" /&gt;
&lt;h3 v-bind="title"&gt;&lt;/h3&gt;

比较low的方式
'use strict'
			let inputs = document.querySelectorAll('input')
			let h3s = document.querySelector('h3')
			let values =]]></description><category></category></item><item><title><![CDATA[深拷贝与浅拷贝的方法]]></title><link>https://blog.youkuaiyun.com/m0_46360310/article/details/107412691</link><guid>https://blog.youkuaiyun.com/m0_46360310/article/details/107412691</guid><author>m0_46360310</author><pubDate>Fri, 17 Jul 2020 17:06:18 +0800</pubDate><description><![CDATA[浅拷贝
'use strict'
			let food = {
				chicken: 'chicken',
				fruits: { banana: 'yellow' },
				color: ['red', 'yellow'],
			}
			//1
			let myFood = { ...food }
			//2
			let myFood = Object.assign({}, food)
			//3
			let myFood = {
				chicken: food.chick]]></description><category></category></item><item><title><![CDATA[在底部添加元素来清除浮动的方式]]></title><link>https://blog.youkuaiyun.com/m0_46360310/article/details/107279284</link><guid>https://blog.youkuaiyun.com/m0_46360310/article/details/107279284</guid><author>m0_46360310</author><pubDate>Sat, 11 Jul 2020 08:08:31 +0800</pubDate><description><![CDATA[问题
	&lt;div class="box"&gt;
		&lt;div class="leftbox"&gt;&lt;/div&gt;
		&lt;div class="rightbox"&gt;&lt;/div&gt;
	&lt;/div&gt;

如果给leftbox和rightbox添加上宽高与浮动的话，box盒子无法被撑开。

在尾部添加一个没有尺寸的空元素
	&lt;div class="box"&gt;
		&lt;div class="leftbox"&gt;&lt;/div&gt;
		]]></description><category></category></item><item><title><![CDATA[nodejs中form表单传值，req.body显示空的问题，但是表单却有数据]]></title><link>https://blog.youkuaiyun.com/m0_46360310/article/details/107168228</link><guid>https://blog.youkuaiyun.com/m0_46360310/article/details/107168228</guid><author>m0_46360310</author><pubDate>Mon, 06 Jul 2020 21:28:26 +0800</pubDate><description><![CDATA[今天在学习node时，遇到了一个苦恼很久的问题，表单传值时，进行数据库操作时，数据一直显示空，后来检查req.body没有数据，但是游览器中的formData却显示有数据，看了很多文章，问题，都是说让用body-parse，但是添加了body-parse之后还是不可以。
后来看到有一篇博客说 body-parser 不支持 contentType: multipart/form-data 的格式类型，不支持formData格式。需要使用 connect-multiparty 第三方模块，于是在路由中引入了一]]></description><category></category></item><item><title><![CDATA[日常记录，nodejs写后台时报错next is not a function]]></title><link>https://blog.youkuaiyun.com/m0_46360310/article/details/107143575</link><guid>https://blog.youkuaiyun.com/m0_46360310/article/details/107143575</guid><author>m0_46360310</author><pubDate>Sun, 05 Jul 2020 19:36:57 +0800</pubDate><description><![CDATA[记录一下今天出现的问题，苦恼了很久，结果原因是写错了位置。
错误地方，不应该在路由渲染的地方调用中间件里的方法，位置写错了，导致报错promise里没有.catch处理错误。
代码



User.lastLoginTime应该在 ‘ /  ’ 后边
报错信息
(node:12708) UnhandledPromiseRejectionWarning: TypeError: next is not a function
    at C:\Users\blog\middleware\user.js:11:5]]></description><category></category></item><item><title><![CDATA[resetFields重置表单失败]]></title><link>https://blog.youkuaiyun.com/m0_46360310/article/details/106786008</link><guid>https://blog.youkuaiyun.com/m0_46360310/article/details/106786008</guid><author>m0_46360310</author><pubDate>Tue, 16 Jun 2020 14:09:57 +0800</pubDate><description><![CDATA[在做学习时用到了resetFields对表单进行重置，结果一直不成功，后来找到了出错的地方，分析一下原因
&lt;el-dialog title="修改地址" @close="addressDialogClosed"
      :visible.sync="addressDialogVisible"
      width="50%"&gt;
      &lt;el-form ref="addressFormRef" :model="addressForm" label-width="100px" :r]]></description><category></category></item><item><title><![CDATA[element中pagination组件关于数据在分页显示时遇到的问题]]></title><link>https://blog.youkuaiyun.com/m0_46360310/article/details/106760227</link><guid>https://blog.youkuaiyun.com/m0_46360310/article/details/106760227</guid><author>m0_46360310</author><pubDate>Mon, 15 Jun 2020 13:14:48 +0800</pubDate><description><![CDATA[问题描述
在做练习时其中有一个页面需要用到element中的pagination组件进行分页显示，但是按照文档配置后结果始终不能分页显示数据
原因
相关接口里没有关于page-size和current-page的请求参数
解决办法
利用slice对数据进行分割
组件
&lt;el-pagination
 @size-change="handleSizeChange" 
 @current-change="handleCurrentChange"
 :current-page.sync="queryInfo.]]></description><category></category></item><item><title><![CDATA[axios中用params传参时遇到的问题]]></title><link>https://blog.youkuaiyun.com/m0_46360310/article/details/106759751</link><guid>https://blog.youkuaiyun.com/m0_46360310/article/details/106759751</guid><author>m0_46360310</author><pubDate>Mon, 15 Jun 2020 12:25:26 +0800</pubDate><description><![CDATA[今天在学习VUE时遇到了一个关于请求传参的问题，百思不得其解，记录一下
环境
后端用的是node.js
前端用的是vue框架
问题代码
 addParams () {
      this.$refs.addFormRef.validate(async vaild =&gt; {
        if (!vaild) return
        //问题代码
        const { data: res } = await this.$http({
          url: `categori]]></description><category></category></item><item><title><![CDATA[关于轮播图的学习与实现]]></title><link>https://blog.youkuaiyun.com/m0_46360310/article/details/106616476</link><guid>https://blog.youkuaiyun.com/m0_46360310/article/details/106616476</guid><author>m0_46360310</author><pubDate>Mon, 08 Jun 2020 12:54:00 +0800</pubDate><description><![CDATA[HTML部分代码
&lt;div class="wrap"&gt;
		&lt;ul class="list"&gt;
			&lt;li class="item active"&gt;0&lt;/li&gt;
			&lt;li class="item"&gt;1&lt;/li&gt;
			&lt;li class="item"&gt;2&lt;/li&gt;
			&lt;li class="item"&gt;3&lt;/li&gt;
			&lt;li class="item"&gt;4&lt;/l]]></description><category></category></item><item><title><![CDATA[关于VUE的学习记录——组件传值]]></title><link>https://blog.youkuaiyun.com/m0_46360310/article/details/106578686</link><guid>https://blog.youkuaiyun.com/m0_46360310/article/details/106578686</guid><author>m0_46360310</author><pubDate>Fri, 05 Jun 2020 21:57:51 +0800</pubDate><description><![CDATA[插槽传值
子组件传给根组件
根组件
&lt;template&gt;
  &lt;div id="app"&gt;
	  &lt;h2&gt;根组件&lt;/h2&gt;
    &lt;child&gt;
		&lt;!-- 接收 --&gt;
		&lt;template v-slot:childslot='value'&gt;
			&lt;h2&gt;内容&lt;/h2&gt;
			&lt;h3&gt;{{value.msg}}&lt;/h3&gt;
		&lt;/template&gt;
	&l]]></description><category></category></item></channel></rss>