<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[aaron9185的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/aaron9185</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; aaron9185]]></copyright><item><title><![CDATA[递归 --获取层级树目标节点及其上层节点]]></title><link>https://blog.youkuaiyun.com/aaron9185/article/details/121241305</link><guid>https://blog.youkuaiyun.com/aaron9185/article/details/121241305</guid><author>aaron9185</author><pubDate>Wed, 10 Nov 2021 09:24:39 +0800</pubDate><description><![CDATA[目标，通过传入id，获取到目标点id及其上层节点。返回数组，包含从顶级节点到目标节点所有层级的id。

1、层级结构



2、代码


function getCodingByPage (menus, page, selList) {
            for(let i = 0; i&lt;menus.length; i++) {
                selList.push(menus[i].id)
                if(menus[i]['id'] == page)]]></description><category></category></item><item><title><![CDATA[网页使用rem前设置字体]]></title><link>https://blog.youkuaiyun.com/aaron9185/article/details/120501274</link><guid>https://blog.youkuaiyun.com/aaron9185/article/details/120501274</guid><author>aaron9185</author><pubDate>Mon, 27 Sep 2021 09:17:31 +0800</pubDate><description><![CDATA[//rem.js文件
export default (function (doc, win) {
   var docEl = doc.documentElement,
  resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',

  recalc = function () {
        var clientWidth = docEl.clientWidth;
        if (!cli...]]></description><category></category></item><item><title><![CDATA[生成VNode对象]]></title><link>https://blog.youkuaiyun.com/aaron9185/article/details/119024038</link><guid>https://blog.youkuaiyun.com/aaron9185/article/details/119024038</guid><author>aaron9185</author><pubDate>Fri, 23 Jul 2021 09:54:07 +0800</pubDate><description><![CDATA[需求：使用vxe-table替换antd表格，实现表格拖拽功能。

问题：文档上一个函数返回了一个数组，里面是HTML代码。第一次遇见这种格式。就这样吧能运行就好。然后写完DEMO在向项目中移植的时候发现报错。


tableColumn: [
  {
     width: 60,
     slots: {
       default: () =&gt; {
         return [
           &lt;span class="drag-btn"&gt;
             ]]></description><category></category></item><item><title><![CDATA[VUE 子组件样式不生效问题 -- scoped CSS穿透 (＞＞＞ || /deep/)]]></title><link>https://blog.youkuaiyun.com/aaron9185/article/details/118998122</link><guid>https://blog.youkuaiyun.com/aaron9185/article/details/118998122</guid><author>aaron9185</author><pubDate>Thu, 22 Jul 2021 14:27:05 +0800</pubDate><description><![CDATA[需求：vue项目中引入了vxe-grid插件，设置class后不生效。


&lt;div class="wrap-container"&gt;
    &lt;vxe-grid
        row-key
        ref="xTable2"
        class="sortable-tree-demo"
        :scroll-y="{enabled: false}"
        :columns="tableColumn"
        :data="tableTreeD]]></description><category></category></item><item><title><![CDATA[npm发版报错(404)]]></title><link>https://blog.youkuaiyun.com/aaron9185/article/details/111604129</link><guid>https://blog.youkuaiyun.com/aaron9185/article/details/111604129</guid><author>aaron9185</author><pubDate>Thu, 24 Dec 2020 09:29:24 +0800</pubDate><description><![CDATA[解决方法：使用了npm淘宝镜像导致连接不上https://registry.npmjs.org。修改.npmrc文件内容为registry=http://registry.npmjs.org/。再次发版即可通过。

问题：

方法：1、修改.npmrc，地址



2、地址修改为



3、一个查询.npmrc地址的方法npm config ls -l




...]]></description><category></category></item><item><title><![CDATA[小程序API封装成支持Promise的API]]></title><link>https://blog.youkuaiyun.com/aaron9185/article/details/108244399</link><guid>https://blog.youkuaiyun.com/aaron9185/article/details/108244399</guid><author>aaron9185</author><pubDate>Wed, 26 Aug 2020 17:41:48 +0800</pubDate><description><![CDATA[封装代码


/**
 * 将小程序的API封装成支持Promise的API
 * @params fn {Function} 小程序原始API，如wx.login
 */
public wxPromisify: Function = fn =&gt; {
  return function (obj = {}) {
      return new Promise((resolve, reject) =&gt; {
        obj.success = function (res) {
     .]]></description><category></category></item><item><title><![CDATA[vue-video-player  进度条不能调节BUG]]></title><link>https://blog.youkuaiyun.com/aaron9185/article/details/108105415</link><guid>https://blog.youkuaiyun.com/aaron9185/article/details/108105415</guid><author>aaron9185</author><pubDate>Wed, 19 Aug 2020 17:14:40 +0800</pubDate><description><![CDATA[问题：使用vue-video-player组件播放视频，视频进度条不能点击不能拖动。点击或者拖动就会重新从头开始播放。

产生原因：

其实就是没有转成字节流，导致不能选择某个视频点

解决方式

使用nginx进行转发



参考文章：https://blog.youkuaiyun.com/weixin_43616097/article/details/106342909
...]]></description><category></category></item><item><title><![CDATA[vue中--父组件调用子组件方法   ref实现 + ts内使用报错问题(断言解决)]]></title><link>https://blog.youkuaiyun.com/aaron9185/article/details/107930694</link><guid>https://blog.youkuaiyun.com/aaron9185/article/details/107930694</guid><author>aaron9185</author><pubDate>Tue, 11 Aug 2020 14:47:08 +0800</pubDate><description><![CDATA[开篇：最近需要编写一个组件互相传递消息，首先是父组件调用子组件方法并传值，在网上找到ref可以实现那么开始搞。

vue ref 调用子组件的方法(原生)

定义子组件son.vue

组件内定义方法


methods:{
    showToast(msg){
        console.log(msg)
    }
}

父组件引入子组件，并声明ref

父组件里面的方法通过ref执行子组件的方法


&lt;template&gt;
    &lt;view&gt;
        &lt;..]]></description><category></category></item><item><title><![CDATA[promise使用讲解]]></title><link>https://blog.youkuaiyun.com/aaron9185/article/details/107757072</link><guid>https://blog.youkuaiyun.com/aaron9185/article/details/107757072</guid><author>aaron9185</author><pubDate>Mon, 03 Aug 2020 09:59:42 +0800</pubDate><description><![CDATA[promise是什么？

1、主要用于异步计算
2、可以将异步操作队列化，按照期望的顺序执行，返回符合预期的结果
3、可以在对象之间传递和操作promise，帮助我们处理队列

为什么会有promise？

为了避免界面冻结（任务）


	同步：假设你去了一家饭店，找个位置，叫来服务员，这个时候服务员对你说，对不起我是“同步”服务员，我要服务完这张桌子才能招呼你。那桌客人明明已经吃上了，你只是想要个菜单，这么小的动作，服务员却要你等到别人的一个大动作完成之后，才能再来招呼你，这个便是同步的问题：也就是“顺序]]></description><category></category></item><item><title><![CDATA[vue中使用async和await来实现同步和异步]]></title><link>https://blog.youkuaiyun.com/aaron9185/article/details/107756118</link><guid>https://blog.youkuaiyun.com/aaron9185/article/details/107756118</guid><author>aaron9185</author><pubDate>Mon, 03 Aug 2020 09:18:14 +0800</pubDate><description><![CDATA[用async/await 来处理异步
近期项目中大量使用async，从服务器获取数据，解决一些并发传参问题。代码很简单。在此也看了一些博客，现在async/await已经大范围让使用，是时候总结一波啦。
先说一下async的语法，它作为一个关键字放在函数前面，用于表示函数是一个异步函数，因为async就是异步的异步，异步函数也就是意味着这个函数的执行不会阻塞后面代码的执行。简单的写一个async函数


async function hello(){
    return 'hello world';
}
]]></description><category></category></item><item><title><![CDATA[mpvue项目--书架读书]]></title><link>https://blog.youkuaiyun.com/aaron9185/article/details/107141448</link><guid>https://blog.youkuaiyun.com/aaron9185/article/details/107141448</guid><author>aaron9185</author><pubDate>Sun, 05 Jul 2020 17:58:47 +0800</pubDate><description><![CDATA[技术选型

开发框架mpvue
	组件库 小程序vant 支付宝 mini-antui
	服务端nodejs
	其他核心库 mpvue-router-path vuex flyio
微信小程序入门

点我直接看教程吧

vue.js入门

点我直接看教程吧

























































API接口地址和设计图

http://www.youbaobao.xyz...]]></description><category></category></item><item><title><![CDATA[VUE实现商城系统]]></title><link>https://blog.youkuaiyun.com/aaron9185/article/details/106886403</link><guid>https://blog.youkuaiyun.com/aaron9185/article/details/106886403</guid><author>aaron9185</author><pubDate>Sun, 21 Jun 2020 15:45:36 +0800</pubDate><description><![CDATA[产品预览




























































]]></description><category></category></item><item><title><![CDATA[VUE搭建课程首页]]></title><link>https://blog.youkuaiyun.com/aaron9185/article/details/106715086</link><guid>https://blog.youkuaiyun.com/aaron9185/article/details/106715086</guid><author>aaron9185</author><pubDate>Fri, 12 Jun 2020 17:01:36 +0800</pubDate><description><![CDATA[环境搭建

配置环境

app.vue页面改动


&lt;template&gt;
  &lt;div id="app"&gt;
    &lt;!-- 隐藏 --&gt;
    &lt;!-- &lt;img src="./assets/logo.png"&gt; --&gt;
    &lt;router-view/&gt;
  &lt;/div&gt;
&lt;/template&gt;

&lt;script&gt;
export default {
  name: 'App'
}
&lt;/s]]></description><category></category></item><item><title><![CDATA[网页开发基础--Vue]]></title><link>https://blog.youkuaiyun.com/aaron9185/article/details/106524297</link><guid>https://blog.youkuaiyun.com/aaron9185/article/details/106524297</guid><author>aaron9185</author><pubDate>Wed, 03 Jun 2020 16:06:37 +0800</pubDate><description><![CDATA[Sass基础

Sass整体介绍

Sass是一种CSS扩展语言，同时Sass也是一种CSS预处理工具

Sass官网：http://www.sass-lang.com/

Sass中文网：https://www.sass.hk/

CSS预处理工具

我们需要一些类似CSS的前置文件，通过对这些前置文件的编译与解析，最终生成浏览器可识别的CSS文件

常见的CSS预处理工具有：Sass、less、stylus，三者在语法、编译环境、工具库上都有异同和各自优劣之处

Sass工作流程



.sass文件与]]></description><category></category></item><item><title><![CDATA[网页开发基础--ES6]]></title><link>https://blog.youkuaiyun.com/aaron9185/article/details/106495226</link><guid>https://blog.youkuaiyun.com/aaron9185/article/details/106495226</guid><author>aaron9185</author><pubDate>Tue, 02 Jun 2020 14:24:37 +0800</pubDate><description><![CDATA[ES6基础入门之let、const

变量声明

var声明


var name='hiyori'

直接使用


window.location.href===location.href

说明：这种不加var声明的定义方式，相当于在全局对象window上挂了一个属性，会造成全局对象污染，不建议这么做

let和var的主要区别

let声明的变量只在当前（块级）作用域内有效
	let声明的变量不能被重复声明
	let不存在变量提升
ES6之前的作用域

全局作用域、函数作用域、eval作用域

块级.]]></description><category></category></item><item><title><![CDATA[网页开发基础--jQuery]]></title><link>https://blog.youkuaiyun.com/aaron9185/article/details/106408964</link><guid>https://blog.youkuaiyun.com/aaron9185/article/details/106408964</guid><author>aaron9185</author><pubDate>Thu, 28 May 2020 17:04:34 +0800</pubDate><description><![CDATA[@[TOC](文章目录)

#123

#456











#789











#99999
]]></description><category></category></item><item><title><![CDATA[JS实现轮播图特效]]></title><link>https://blog.youkuaiyun.com/aaron9185/article/details/106385433</link><guid>https://blog.youkuaiyun.com/aaron9185/article/details/106385433</guid><author>aaron9185</author><pubDate>Wed, 27 May 2020 16:55:11 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[JavaScript BOM常用方法]]></title><link>https://blog.youkuaiyun.com/aaron9185/article/details/106384785</link><guid>https://blog.youkuaiyun.com/aaron9185/article/details/106384785</guid><author>aaron9185</author><pubDate>Wed, 27 May 2020 16:44:20 +0800</pubDate><description><![CDATA[什么是BOM

DOM是一套操作HTML标签的API（接口/方法/属性）
BOM是一套操作浏览器的API（接口/方法/属性）

常见的BOM对象
window：代表整个浏览器窗口（window是BOM中的一个对象，并且是顶级的对象）
Navigator ：代表浏览器当前的信息，通过Navigator我们可以获取用户当前使用的是什么浏览器
Location： 代表浏览器当前的地址信息，通过Location我们可以获取或者设置当前的地址信息
History：代表浏览器的历史信息，通过History我们可以实现上]]></description><category></category></item><item><title><![CDATA[js 事件常用方法]]></title><link>https://blog.youkuaiyun.com/aaron9185/article/details/106383125</link><guid>https://blog.youkuaiyun.com/aaron9185/article/details/106383125</guid><author>aaron9185</author><pubDate>Wed, 27 May 2020 16:05:29 +0800</pubDate><description><![CDATA[一、介绍

 事件是用来实现js和html之间交互的，可以用侦听器（或处理程序）来预订事件，以便事件发生时执行相应的代码。这种在传统软件工程中被称为观察员模式的模型，支持页面的行为（js）与页面的外观（html和css）的松散耦合。事件最早是在IE3和Netscape Navigator2中出现的，当时是作为分担服务器运算负载的一种手段。

二、事件流

  事件流描述的是从页面中接收事件的顺序。IE的事件流是事件冒泡流，而Netscape Communicator 的事件流是事件捕获流。

1、...]]></description><category></category></item><item><title><![CDATA[JS DOM属性节点操作]]></title><link>https://blog.youkuaiyun.com/aaron9185/article/details/106379308</link><guid>https://blog.youkuaiyun.com/aaron9185/article/details/106379308</guid><author>aaron9185</author><pubDate>Wed, 27 May 2020 13:31:57 +0800</pubDate><description><![CDATA[操作属性节点有两种当时，一种是通过普通对象的方式来操作属性节点，另外一种是通过属性节点的方法来操作属性节点。

1. 元素节点.属性或元素节点[属性]

如果我们可以把元素节点当成普通对象来处理，通过 元素节点.属性 或 元素节点[属性] 的方式来设置属性。

注意：设置类 class 只能用 className

1.1 获取属性


var img = document.getElementsByTagName('img')[0];
var box = document.getElementsByCla]]></description><category></category></item></channel></rss>