<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[m0_56079094的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/m0_56079094</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; m0_56079094]]></copyright><item><title><![CDATA[Vue2总结]]></title><link>https://blog.youkuaiyun.com/m0_56079094/article/details/124959347</link><guid>https://blog.youkuaiyun.com/m0_56079094/article/details/124959347</guid><author>m0_56079094</author><pubDate>Tue, 25 Jul 2023 11:34:23 +0800</pubDate><description><![CDATA[本文对vue2各个功能的使用进行分类总结]]></description><category></category></item><item><title><![CDATA[React+TS项目中配置路径别名和提示]]></title><link>https://blog.youkuaiyun.com/m0_56079094/article/details/124963085</link><guid>https://blog.youkuaiyun.com/m0_56079094/article/details/124963085</guid><author>m0_56079094</author><pubDate>Wed, 25 May 2022 11:37:17 +0800</pubDate><description><![CDATA[为了方便使用，希望使@符号代表src文件路径
步骤1 下载依赖包

npm i @craco/craco -D

步骤2：配置craco.config.js
在跟目录下创建craco.config.js
//对webpack配置别名
const path = require('path')

module.exports = {
  // webpack 配置
  webpack: {
    // 配置别名
    alias: {
      // 约定：使用 @ 表示 src 文件所在路径
     ]]></description><category></category></item><item><title><![CDATA[尚硅谷-TypeScript]]></title><link>https://blog.youkuaiyun.com/m0_56079094/article/details/124709626</link><guid>https://blog.youkuaiyun.com/m0_56079094/article/details/124709626</guid><author>m0_56079094</author><pubDate>Mon, 23 May 2022 17:32:45 +0800</pubDate><description><![CDATA[1. TypeScript简介
（1）TypeScript是什么?存在的意义是什么？

本质：是以js为基础构建的语言。
意义：在js的基础上最大的差别是引入了类型的概念。使js从动态类型的语言变为静态类型的语言。
注意：ts可以在任何支持js的平台中运行，但是ts不可以直接被js解析器执行，所以要将ts编译为js再执行。
ts优势：增添类型，支持es6，增添es不具备的新特性，丰富的配置选项，强大的开发工具。

2 TypeScript的环境搭建
（1）安装ts
npm i -g typescript

]]></description><category></category></item><item><title><![CDATA[el-input中的粘贴事件]]></title><link>https://blog.youkuaiyun.com/m0_56079094/article/details/124837044</link><guid>https://blog.youkuaiyun.com/m0_56079094/article/details/124837044</guid><author>m0_56079094</author><pubDate>Wed, 18 May 2022 10:23:03 +0800</pubDate><description><![CDATA[&lt;el-input type="textarea" :rows="5" placeholder="请输入内容" v-model="ruleForm.description" @paste.native='pasteDescription($event,scope.$index)'&gt; &lt;/el-input&gt;

		pasteDescription(event, index, list){
			var pastedText = undefined
			if (event.clipb.]]></description><category></category></item><item><title><![CDATA[【已解决】Couldn‘t find preset “babel/preset-env“ relative to directory]]></title><link>https://blog.youkuaiyun.com/m0_56079094/article/details/124816932</link><guid>https://blog.youkuaiyun.com/m0_56079094/article/details/124816932</guid><author>m0_56079094</author><pubDate>Tue, 17 May 2022 11:05:30 +0800</pubDate><description><![CDATA[运行webpack报错
Couldn't find preset "babel/preset-env" relative to directory

解决方法：
1.首先检查是否将依赖的包下载完毕？
下载依赖包：npm i babel-loader @babel/preset-env @babel/core -D


这里下载要注意版本问题，一定要版本对应，不对应的话重新下载对应的版本:
升版（最高版本）：
npm install  babel-loader @babel/core @babel/prese]]></description><category></category></item><item><title><![CDATA[尚硅谷-React]]></title><link>https://blog.youkuaiyun.com/m0_56079094/article/details/122923667</link><guid>https://blog.youkuaiyun.com/m0_56079094/article/details/122923667</guid><author>m0_56079094</author><pubDate>Tue, 26 Apr 2022 10:39:17 +0800</pubDate><description><![CDATA[1.React初认识
（1）React是什么
react是用于构建用户 界面（视图） 的JavaScript库
也可以说react是一个将数据渲染为html视图开端的开源JS库
（2）React的功能是什么
操作Dom呈现页面
（3）为什么学React：原生JS的痛点
1 原生js操作dom效率低，繁琐
document.getElamentById('name')

2 使用js直接操作dom，浏览器会进行大量的重汇重排
3.原生js没有组件化的编码方案，代码复用率低
组件化：html、css、js都拆
]]></description><category></category></item><item><title><![CDATA[uni-app]]></title><link>https://blog.youkuaiyun.com/m0_56079094/article/details/123273585</link><guid>https://blog.youkuaiyun.com/m0_56079094/article/details/123273585</guid><author>m0_56079094</author><pubDate>Mon, 14 Mar 2022 17:12:53 +0800</pubDate><description><![CDATA[1-uni-app入门
（1）开发规范：

页面遵循vue单文件
组件标签靠近小程序规范
接口靠近小程序规范
事件处理靠近vue

1.全局配置 globalStyle
在pages.josn文件中进行配置

]]></description><category></category></item><item><title><![CDATA[尚硅谷-webpack]]></title><link>https://blog.youkuaiyun.com/m0_56079094/article/details/122836522</link><guid>https://blog.youkuaiyun.com/m0_56079094/article/details/122836522</guid><author>m0_56079094</author><pubDate>Thu, 10 Feb 2022 11:41:31 +0800</pubDate><description><![CDATA[1 webpack初体验
1.1准备工作
1.初始化包描述文件
npm init

2.全局安装webpack
npm i webpack-cli -g

3.将webpack添加到package.json的依赖中
npm i webpack-cli -D

1.2运行指令
运行不了的话前面加npx
开发环境：
webpack ./src/index.js -o ./build/built.js --mode=development

（webpack会以./src/index.js -o作为入口文件进行打]]></description><category></category></item><item><title><![CDATA[面向对象、原型链、类]]></title><link>https://blog.youkuaiyun.com/m0_56079094/article/details/122603650</link><guid>https://blog.youkuaiyun.com/m0_56079094/article/details/122603650</guid><author>m0_56079094</author><pubDate>Thu, 20 Jan 2022 17:54:39 +0800</pubDate><description><![CDATA[面向对象
1.1 对象的基本概念
1.1.1对象是什么？为什么引入对象？
（1）除了基本类型（String、Number、Boolean、Null、Undefined）以外的数据类型都是对象（Object）
（2）由于基本类型数据都是单一的值，值和值之间没有关系，所以使用对象来使值与值之间存在关系。
对象属于复合类型数据在对象中可以保持不用数据类型的属性
1.1.2 对象分类
（1）内建对象：js标准中定义的对象
Boolean、Math、String、 Number、Function、Object
（2）]]></description><category></category></item><item><title><![CDATA[Vue中&nextTick()的使用方法]]></title><link>https://blog.youkuaiyun.com/m0_56079094/article/details/122339671</link><guid>https://blog.youkuaiyun.com/m0_56079094/article/details/122339671</guid><author>m0_56079094</author><pubDate>Thu, 06 Jan 2022 11:43:41 +0800</pubDate><description><![CDATA[&amp;nextTick()的基本使用
1.nextTick的调用时机及作用：
调用时间：当数据更新了，在dom中渲染后，会自动调用执行该函数
作用：简单来说就是 获取更新之后的dom
2.未使用nextTick()的情况：
&lt;bottom @click=changeMsg() ref="btn"&gt;{{msg}}&lt;/bottom&gt;

export default{
data(){
 return{
   msg:'hello'
  }
}，
methods:{
  changeMs]]></description><category></category></item><item><title><![CDATA[vue中计算属性computed的使用]]></title><link>https://blog.youkuaiyun.com/m0_56079094/article/details/122299737</link><guid>https://blog.youkuaiyun.com/m0_56079094/article/details/122299737</guid><author>m0_56079094</author><pubDate>Tue, 04 Jan 2022 11:57:59 +0800</pubDate><description><![CDATA[1.vue中计算属性computed的基本使用
&lt;div&gt;{{this.msg1}}&lt;/div&gt;
&lt;div @click=changeCount(5)&gt;修改count的值&lt;/div&gt;

data(){
  msg:'11',
  count:2
},
//与computed与data同级
//computed中声明的函数名就是参数名 可以直接使用 例如{{msg1}} 无需在data中声明
//计算机属性中必须有return return内容作为msg1的值
]]></description><category></category></item><item><title><![CDATA[Vue事件监听Watch的使用]]></title><link>https://blog.youkuaiyun.com/m0_56079094/article/details/122299231</link><guid>https://blog.youkuaiyun.com/m0_56079094/article/details/122299231</guid><author>m0_56079094</author><pubDate>Tue, 04 Jan 2022 11:30:33 +0800</pubDate><description><![CDATA[当事件监听到变量的变化时，就会执行Watch中对应的方法
watch的使用方法
data(){
  return{
     data:0
  }
},
//watch与data同级
watch(){
  //以需要监听的变量的名字作为函数名称
  //可以接收两个参数 第一个:变化后的值；第二个:变化前的值
  //当监听data数据变化的时候会执行这个函数
  data(newvalue,oldvalue){
    if(newvalue&gt;oldvalue){
     console.log(]]></description><category></category></item><item><title><![CDATA[Vue中自定义指令directive的使用]]></title><link>https://blog.youkuaiyun.com/m0_56079094/article/details/122109814</link><guid>https://blog.youkuaiyun.com/m0_56079094/article/details/122109814</guid><author>m0_56079094</author><pubDate>Thu, 23 Dec 2021 16:55:31 +0800</pubDate><description><![CDATA[知识预备：自定义指令中的钩子函数

bind：只调用一次，指令第一次绑定到元素的时候调用 （一般在修改style时使用）
inserted：被绑定的元素节点插入到dom树中时调用（一般在修改dom时使用）
update：所在组件的Vnode更新时调用，但孩子Vnode可能还没有更新
componentUpdate：所在组件的Vnode及孩子的Vnode全部更新时调用
unbind：只调用一次，指令与元素解绑的时候调用


一般就用前两个就行了

知识预备：自定义指令中的钩子函数中的参数
//例子
bind:]]></description><category></category></item><item><title><![CDATA[Vue中的过滤器filter的使用]]></title><link>https://blog.youkuaiyun.com/m0_56079094/article/details/122108838</link><guid>https://blog.youkuaiyun.com/m0_56079094/article/details/122108838</guid><author>m0_56079094</author><pubDate>Thu, 23 Dec 2021 15:39:24 +0800</pubDate><description><![CDATA[&lt;template&gt;
    &lt;div id="filterPage"&gt;
        &lt;!-- 使用过滤器 --&gt;
        &lt;div&gt;{{name | showname}}&lt;/div&gt;
        &lt;!-- 使用带有正则表达式的过滤器 --&gt;
        &lt;div&gt;{{msg | changename}}&lt;/div&gt;
        &lt;!-- 使用带有参数的过滤器 --&gt;
    ]]></description><category></category></item><item><title><![CDATA[Vue项目中Vant-UI库的使用（组件使用详情）]]></title><link>https://blog.youkuaiyun.com/m0_56079094/article/details/122045691</link><guid>https://blog.youkuaiyun.com/m0_56079094/article/details/122045691</guid><author>m0_56079094</author><pubDate>Tue, 21 Dec 2021 17:53:58 +0800</pubDate><description><![CDATA[4.使用详情：
（1）轻提示的使用：
&lt;van-button type="primary" @click="openmes()"&gt;弹出轻提示&lt;/van-button&gt;

openmes () {
      this.$toast('弹一个轻提示')
    },

效果展示:


（2）Popup 弹出层使用：
        &lt;van-cell title="展示弹出层" is-link @click="showPopup()" /&gt;
        &lt;van-]]></description><category></category></item><item><title><![CDATA[Vue项目中Vant-UI库的使用（配置相关）]]></title><link>https://blog.youkuaiyun.com/m0_56079094/article/details/122044621</link><guid>https://blog.youkuaiyun.com/m0_56079094/article/details/122044621</guid><author>m0_56079094</author><pubDate>Mon, 20 Dec 2021 16:47:05 +0800</pubDate><description><![CDATA[1. 第一步：安装插件
（1）安装vant-ui库
npm i vant -S

（2）安装按需导入插件babel-plugin-import
npm i babel-plugin-import -D

（3）在子目录下新建babel.config.js并配置
module.exports = {
    "plugins": [
        ['import', {
            libraryName: 'vant',
            libraryDirectory: 'es',]]></description><category></category></item><item><title><![CDATA[Jquery的基本使用]]></title><link>https://blog.youkuaiyun.com/m0_56079094/article/details/121974312</link><guid>https://blog.youkuaiyun.com/m0_56079094/article/details/121974312</guid><author>m0_56079094</author><pubDate>Thu, 16 Dec 2021 15:51:11 +0800</pubDate><description><![CDATA[1.Jquery的基础使用
外链jquery：
&lt;script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"&gt;&lt;/script&gt;

(1) 使用$()来获取元素
//html语句
&lt;div id="name"&gt;张三&lt;/div&gt;

//js获取元素
document.getElementNameById("name")
//jquery获取元素
$("#name").click=func]]></description><category></category></item><item><title><![CDATA[ES6-symbol]]></title><link>https://blog.youkuaiyun.com/m0_56079094/article/details/120413981</link><guid>https://blog.youkuaiyun.com/m0_56079094/article/details/120413981</guid><author>m0_56079094</author><pubDate>Tue, 02 Nov 2021 11:12:50 +0800</pubDate><description><![CDATA[symbol
1、symbol引入的意义
symbol表示独一无二的值，可以用于解决对象属性名冲突的问题
2、创建symbol
(1)一般创建（无参数）
let s = Symbol();
console.log(typeof s);//Symbol

注意不用New命令，New是用来生成对象的
(2)可以传入“字符串”参数（用于区分symbol）；
let s1 = Symbol('foo');
let s2 = Symbol('bar');
s1.toString()
//"Symbol(foo)"
s]]></description><category></category></item><item><title><![CDATA[es6-set]]></title><link>https://blog.youkuaiyun.com/m0_56079094/article/details/120417072</link><guid>https://blog.youkuaiyun.com/m0_56079094/article/details/120417072</guid><author>m0_56079094</author><pubDate>Tue, 02 Nov 2021 11:12:41 +0800</pubDate><description><![CDATA[set
1.set的意义
set类似于数组 但成员的值是唯一的
2.创建set
const s = new Set();//创建一个空set
let set = new Set([1,2,3,4,4,5])//初始化

注意：
1.set内部不会发生类型转换，5和‘5’是不一样的
2.两个对象是不一样的，即使内容一样

3.set的属性
set.constructor：默认就是Set()构造函数
set.size：返回实例成员的数量
4

...]]></description><category></category></item><item><title><![CDATA[es6-map]]></title><link>https://blog.youkuaiyun.com/m0_56079094/article/details/120452889</link><guid>https://blog.youkuaiyun.com/m0_56079094/article/details/120452889</guid><author>m0_56079094</author><pubDate>Tue, 02 Nov 2021 11:12:27 +0800</pubDate><description><![CDATA[Map
1.map的引入

map的键值对的有序列表，键和值都可以为任意类型。
相较于object 字符串-值，object重在表示对象，map重在表达数据结构-字典

2.创建map
let m=new Map()
//初始化
let map=new Map(['name','zhang'],
['sex','male'])


...]]></description><category></category></item></channel></rss>