<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[weixin_44769310的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/weixin_44769310</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; weixin_44769310]]></copyright><item><title><![CDATA[代码实现vue的双向绑定（二）：解析器和MVVM]]></title><link>https://blog.youkuaiyun.com/weixin_44769310/article/details/123297478</link><guid>https://blog.youkuaiyun.com/weixin_44769310/article/details/123297478</guid><author>weixin_44769310</author><pubDate>Sat, 05 Mar 2022 17:01:57 +0800</pubDate><description><![CDATA[上文已经实现了双向绑定的数据劫持、订阅者和发布者，接下来要继续实现双向绑定中的解析器，以及 Vue 这样的 MVVM 框架如何搭建。]]></description><category></category></item><item><title><![CDATA[代码实现vue的双向绑定（一）：订阅者和发布者]]></title><link>https://blog.youkuaiyun.com/weixin_44769310/article/details/123297308</link><guid>https://blog.youkuaiyun.com/weixin_44769310/article/details/123297308</guid><author>weixin_44769310</author><pubDate>Sat, 05 Mar 2022 16:56:10 +0800</pubDate><description><![CDATA[参看相关文章以及 vue 源码，自己去实现 vue 的双向绑定的观察者模式]]></description><category></category></item><item><title><![CDATA[ElementUI 避免出现多个message同时出现]]></title><link>https://blog.youkuaiyun.com/weixin_44769310/article/details/122339997</link><guid>https://blog.youkuaiyun.com/weixin_44769310/article/details/122339997</guid><author>weixin_44769310</author><pubDate>Thu, 06 Jan 2022 11:31:41 +0800</pubDate><description><![CDATA[element ui 避免多个提示框同时出现]]></description><category></category></item><item><title><![CDATA[Nuxt 根据用户身份跳转不同页面（路由）]]></title><link>https://blog.youkuaiyun.com/weixin_44769310/article/details/116242604</link><guid>https://blog.youkuaiyun.com/weixin_44769310/article/details/116242604</guid><author>weixin_44769310</author><pubDate>Wed, 28 Apr 2021 20:37:06 +0800</pubDate><description><![CDATA[场景
需要根据用户登录的账号角色跳转不同的页面即路由，比如分为正式账号和演示账号。
解决方法
1. 在每个页面使用来区分
坏处就是页面区分的太散乱，后期维护的成本较大
2. 使用中间件middleware
a. 在 middleware 下新建demo.js
export default function ({ isServer, req, redirect, route }) {
  
  let url = process.env.NODE_ENV === 'public' ? 'xxxx' : 'xx]]></description><category></category></item><item><title><![CDATA[在 Nuxt中使用滚动组件 vue-seamless-scroll]]></title><link>https://blog.youkuaiyun.com/weixin_44769310/article/details/116144924</link><guid>https://blog.youkuaiyun.com/weixin_44769310/article/details/116144924</guid><author>weixin_44769310</author><pubDate>Mon, 26 Apr 2021 10:46:05 +0800</pubDate><description><![CDATA[在公司基于Nuxt项目中需要使用滚动组件，刷新之后会报错window is not defined
1. 安装 vue-seamless-scroll
npm install vue-seamless-scroll --save
2. 更改配置文件
报错 window is not defined，是由于nuxt是基于服务器渲染的框架，服务器渲染时没有wiindow定义的。
VUE报错：客户端呈现的虚拟DOM树与服务器呈现的内容不匹配。这可能是由不正确的HTML标记引起的，例如在其中嵌套块级元素或丢失。
在]]></description><category></category></item><item><title><![CDATA[项目中修改Element-ui组件的默认属性]]></title><link>https://blog.youkuaiyun.com/weixin_44769310/article/details/116129028</link><guid>https://blog.youkuaiyun.com/weixin_44769310/article/details/116129028</guid><author>weixin_44769310</author><pubDate>Sun, 25 Apr 2021 14:54:46 +0800</pubDate><description><![CDATA[在一个项目中如果要修改element-ui中的某个组件的默认值又不想一个个组件修改，可以在配置element-ui的地方修改组件某个属性的默认值。
import Vue from 'vue'
import ElementUI from 'element-ui';

// 修改input组件默认有清空按钮
ElementUI.Input.props.clearable.default=true;
Vue.use(ElementUI);

并不是所有组件的属性都可以通过这样的方式修改，必须在代码配置有deful]]></description><category></category></item><item><title><![CDATA[vue+elementui el-select选择框异步请求选项列表，$set之后显示的value值]]></title><link>https://blog.youkuaiyun.com/weixin_44769310/article/details/116064638</link><guid>https://blog.youkuaiyun.com/weixin_44769310/article/details/116064638</guid><author>weixin_44769310</author><pubDate>Fri, 23 Apr 2021 17:52:50 +0800</pubDate><description><![CDATA[场景
两个el-select 联动的选择框，选完第一个框异步加载第二个框的选项列表并给第二个选项赋值为选项的第一个值
&lt;template&gt;
    &lt;el-select
        v-model="formData.data1"
        @change="onChange"
    &gt;
        &lt;el-option
          v-for="item in option1"
          :key="item.id"
          :l]]></description><category></category></item><item><title><![CDATA[微信小程序下拉菜单组件实现]]></title><link>https://blog.youkuaiyun.com/weixin_44769310/article/details/111872009</link><guid>https://blog.youkuaiyun.com/weixin_44769310/article/details/111872009</guid><author>weixin_44769310</author><pubDate>Mon, 12 Apr 2021 17:30:22 +0800</pubDate><description><![CDATA[先看需求和效果，移动端设计比较常用的下拉菜单，主要用于筛选查询列表结果。下拉菜单的样式可以根据自己的具体需求进行修改。这里根据自己的实际需求开发了三种下拉类型：
第一个是单选下拉菜单，单选之后立即收起。

第二个是复选下拉菜单，主要提供了多选的功能，显示确定和重置按钮用于修改复选结果。

第三种是自定义内容，提供给用户自己写组件内容的插槽。

代码的详细解释就不用说了，直接上代码片段，可以在微信开发者工具中查看效果和代码。
我在小程序开发的过程中也开发了许多组件，可以在我的gitee地址中去查看，所有组件的]]></description><category></category></item><item><title><![CDATA[Nuxt中keep-alive的使用]]></title><link>https://blog.youkuaiyun.com/weixin_44769310/article/details/115631324</link><guid>https://blog.youkuaiyun.com/weixin_44769310/article/details/115631324</guid><author>weixin_44769310</author><pubDate>Mon, 12 Apr 2021 17:29:22 +0800</pubDate><description><![CDATA[layouts/default.vue
&lt;nuxt keep-alive :keep-alive-props="{include: includeArr }"/&gt;
&lt;script&gt;
  export default {
    data() {
        return {
            includeArr: [
            'ServicerManageProjects',
            'DataReportData',
        ]
]]></description><category></category></item><item><title><![CDATA[微信小程序-wx.openDocument常见报错总结]]></title><link>https://blog.youkuaiyun.com/weixin_44769310/article/details/109390715</link><guid>https://blog.youkuaiyun.com/weixin_44769310/article/details/109390715</guid><author>weixin_44769310</author><pubDate>Fri, 30 Oct 2020 19:12:13 +0800</pubDate><description><![CDATA[小程序开发中用wx.openDocument()遇到了几个常见的问题，做下总结
downloadfile:fail url not in domain list
详细原因点击查看原文，上传时一定要配置  详情-&gt;域名信息    中的request合法域名    uploadFile合法域名  downloadFile合法域名，并且均为https。
// 可根据版本判断是否替换成https
url.replace("http:","https:")

FAIL FILETYPE NOT SUPPORTE]]></description><category></category></item><item><title><![CDATA[微信小程序-ios设备下new Data()方法显示NAN]]></title><link>https://blog.youkuaiyun.com/weixin_44769310/article/details/109390590</link><guid>https://blog.youkuaiyun.com/weixin_44769310/article/details/109390590</guid><author>weixin_44769310</author><pubDate>Fri, 30 Oct 2020 18:20:31 +0800</pubDate><description><![CDATA[问题描述
小程序开发过程中，发现 Android 设备可以正常的显示时间，而 iOS 设备无法正确的显示。
原因
iOS 系统对 JavaScript 中的 new Date() 方法有严格的格式要求。
IOS 系统的格式如下：
let now = new Date("2020/10/30 00:00") 

解决方法
通过replace方法替换
let date = "2020-08-08 00:00"
let now = new Date(date.replace(/-/g,'/'))


...]]></description><category></category></item><item><title><![CDATA[微信小程序-带参数分享的公有方法]]></title><link>https://blog.youkuaiyun.com/weixin_44769310/article/details/109340726</link><guid>https://blog.youkuaiyun.com/weixin_44769310/article/details/109340726</guid><author>weixin_44769310</author><pubDate>Wed, 28 Oct 2020 19:38:50 +0800</pubDate><description><![CDATA[需求说明
微信小程序每个页面分享给朋友的时候，如果分享的链接里不带参数。那么在onLoad: function (options)中就会识别不了参数导致页面无数据渲染或者报错无法打开。所以需要一个全局分享方法，
解决方法
我看了很多文档，有的是在app.js中使用wx.onAppRoute来监听路由切换，设置每一个page的onShareAppMessage方法间接实现全局设置分享内容。官方文档没有这个api并且自己尝试了一下没用，如果各位试的有效果可以跟我说一声，学习一下
我自己就写了个分享当前页面的公有]]></description><category></category></item><item><title><![CDATA[微笑小程序 1px边框border]]></title><link>https://blog.youkuaiyun.com/weixin_44769310/article/details/108830308</link><guid>https://blog.youkuaiyun.com/weixin_44769310/article/details/108830308</guid><author>weixin_44769310</author><pubDate>Sun, 27 Sep 2020 16:17:54 +0800</pubDate><description><![CDATA[像素基本概念： 参考这篇文章微信小程序----适配小结、移动端1px与选择器权重，里面已经很清楚的描述了像素单位及为什么会出现CSS写的1px，实际上看起来比1px粗。
直接上代码：
/* border 1px样式 */
.border_bottom, .border_top, .border_all {
  position: relative;
}

.border_top::after {
  position: absolute; 
  content: '';
  width: 100%;
  l]]></description><category></category></item><item><title><![CDATA[微信小程序连接WiFi]]></title><link>https://blog.youkuaiyun.com/weixin_44769310/article/details/108827704</link><guid>https://blog.youkuaiyun.com/weixin_44769310/article/details/108827704</guid><author>weixin_44769310</author><pubDate>Sun, 27 Sep 2020 15:37:54 +0800</pubDate><description><![CDATA[微信小程序连接WiFi需求说明代码及说明1. 系统判断2. 权限判断及申请3. 搜索wifi列表并连接3. 切换不同wifi时进行提示
需求说明

小程序搜索附近能连接的wifi并出现列表
点击wifi进行连接
切换不同wifi时进行提示

代码及说明
对于需求只贴上js部分代码，用于记录小程序连接wifi接口使用及遇到的问题。具体API查看微信官方文档。微信官方文档
1. 系统判断
说明： 因为获取wifi列表根据官方文档所示ios将跳转到系统设置界面，因为界面操作不统一，所以这次先不对ios设备进行适配]]></description><category></category></item><item><title><![CDATA[var let const的区别和用法]]></title><link>https://blog.youkuaiyun.com/weixin_44769310/article/details/106063728</link><guid>https://blog.youkuaiyun.com/weixin_44769310/article/details/106063728</guid><author>weixin_44769310</author><pubDate>Mon, 11 May 2020 22:23:34 +0800</pubDate><description><![CDATA[面试的时候这三个定义变量和函数的方法没有解释清楚，今天把他们总结清楚。只要搞清楚全局作用域、函数作用域和块级作用域。
参考资料
全局作用域和函数作用域
块级作用域


全局作用域
这个比较好理解，就是定义在script里面的变量和函数，可以在任何地方访问到。


函数作用域
调用函数的时候会创造一个函数作用域，需要注意的是只有调用函数的时候才会创造，函数在定义的时候是不会创造作用域的。


块级作用域
块级作用域是ES6才定义的。最简单的理解是{ }中间的部分是一个块级作用域”。例如：for 循环、 if ]]></description><category></category></item><item><title><![CDATA[前端面试必考——JS闭包]]></title><link>https://blog.youkuaiyun.com/weixin_44769310/article/details/106008007</link><guid>https://blog.youkuaiyun.com/weixin_44769310/article/details/106008007</guid><author>weixin_44769310</author><pubDate>Fri, 08 May 2020 22:36:09 +0800</pubDate><description><![CDATA[闭包是前端面试的时候，必然会问到的问题。码龄一年的我在实际应用的时候还没有应用到。但是先搞定面试先。等以后开发经验再多一点的时候，再加更多的理解吧。

闭包： 内部函数总是可以访问其外部函数的参数和变量
其实理解这句话要先理解js的变量作用域，函数内部可以直接读取全局变量，但是在函数外部是不可以读取函数内的局部变量。所以需要闭包来访问函数内部的变量。
function outerFunc() {
    var name = "内部函数变量";
    function innerFunc() {
   .]]></description><category></category></item><item><title><![CDATA[Js深拷贝和浅拷贝及相关知识点]]></title><link>https://blog.youkuaiyun.com/weixin_44769310/article/details/105894322</link><guid>https://blog.youkuaiyun.com/weixin_44769310/article/details/105894322</guid><author>weixin_44769310</author><pubDate>Thu, 07 May 2020 22:49:42 +0800</pubDate><description><![CDATA[不管是实际应用还是面试当中，js的深拷贝和浅拷贝的区别一直都是最常遇到的问题，今天花点时间彻底搞定它。
相关知识点
1. js两种不同的数据类型

基本类型：String，Boolean，Number，Undefined，Null；
引用类型：Object(Array，Date，RegExp，Function)；

两者最大的区别就是保存位置的不同，基本数据类型是保存在栈内存里；引用数据类型是保存...]]></description><category></category></item><item><title><![CDATA[纯前端多选表格table批量删除]]></title><link>https://blog.youkuaiyun.com/weixin_44769310/article/details/104683347</link><guid>https://blog.youkuaiyun.com/weixin_44769310/article/details/104683347</guid><author>weixin_44769310</author><pubDate>Thu, 05 Mar 2020 20:39:41 +0800</pubDate><description><![CDATA[在工作中对表格的数据进行删除，一般来说都是与后端进行联调。但是也会遇到这种情况，对表格删除操作的时候不需要与后台对接，在对表格数据进行删除后点击保存的时候才与后台对接。
今天写这个功能的时候首先想的是两个for循环，这样写起来会代码会比较多且很复杂。抱着对简短优美代码的追求。
handleDeleteSelection() {
      this.multipleSelection.forEac...]]></description><category></category></item><item><title><![CDATA[优化代码：table中遇到将某一列代码转述成表述值]]></title><link>https://blog.youkuaiyun.com/weixin_44769310/article/details/104665999</link><guid>https://blog.youkuaiyun.com/weixin_44769310/article/details/104665999</guid><author>weixin_44769310</author><pubDate>Thu, 05 Mar 2020 00:15:31 +0800</pubDate><description><![CDATA[在工作中经常遇到一个场景，在表格数据与后台接口交互的过程中，某一列后台只会传一个code，但是实际上在表格上要展示的事code对应的描述值。
// 后台传来的数据：
tableData: [
	{ userName: '张三', typeCode: '1' },
    { userName: '李四', typeCode: '2' }
 ],
 // 类型对应表
 typeOption: [
 ...]]></description><category></category></item><item><title><![CDATA[vue-element-ui 步骤条Steps限制已成功的步骤进行点击跳转]]></title><link>https://blog.youkuaiyun.com/weixin_44769310/article/details/104655670</link><guid>https://blog.youkuaiyun.com/weixin_44769310/article/details/104655670</guid><author>weixin_44769310</author><pubDate>Wed, 04 Mar 2020 16:45:24 +0800</pubDate><description><![CDATA[最近工作中使用到了element-ui中steps组件，需求是:

步骤（数量）会因为某些条件进行变化
对于已通过的步骤可以点击步骤进行跳转
对于未通过的步骤鼠标要有禁止的提示

因为原本组件是没有这些功能的，所以要自己对step进行优化。因为某个步骤下是分四个人做，所以步骤内容是以组件的形式分开
上代码
&lt;template&gt;
  &lt;div class="main"&gt;
  ...]]></description><category></category></item></channel></rss>