自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 在umi 中使用dva

一、在umi 中使用dvaumi 项目结构src/layouts/index.js约定式的全局布局,实际上就是在路由外面多包裹了这一层如果目录结构中 没有 layouts/index.js那么该项目的目录结构则为:[{ path: '/', component: './pages/index,},{ path: '/users', component: './pages/users',},]如果在目录结构中加上了 layouts/index.js 这层目录 则该项

2021-03-29 15:33:20 3827

原创 js常用数组字符串方法

一、常用数组方法创建数组let arr = new Array(); // 创建一个新的数组数组的增删改查let arr = [1,2,3,4]arr.push('5') // 数组末尾添加1个或多个 返回数组新的长度arr.unshift('0') // 往数字开头添加一个或多个元素,返回数组新的长度arr.pop() // 删除数组最后一个元素,并返回被删除的元素arr.shift() // 删除数组第一个元素,并返回被删除的元素detele arr[0] // 删除指定位置数组元

2021-03-29 15:30:34 2500

原创 js 实现拖拽元素

js 实现拖拽元素原理:实现拖拽效果其实就是通过监听鼠标移动事件,实时改变元素的位置。所以重点就是 进行位置的计算。位置计算原理:因为需要计算元素的位置变化,所以需要掌握几个关于位置的apiapi描述offsetTop元素到offsetParent顶部的距离,距离元素最近的一个具有定位的祖宗元素(relative,absolute,fixed),若祖宗都不符合条件,offsetParent为body。offsetLeft元素到offsetParent左边的距离,距离元素

2021-03-29 15:29:04 6780 2

原创 vue --解决跨域问题

vue --解决跨域问题一、什么是跨域?跨域问题一般是因为浏览器的同源策略问题。同源是指,协议+域名+端口 三者相同,既为同源。同源策略限制以下几种行为Cookie、LocalStorage 和 IndexDB 无法读取DOM和JS对象无法获取AJAX请求无法发送二、跨域解决方案。使用jsonp实现,网页通过script标签向服务器请求json数据,服务器受到请求后,将数据放在一个指定名字的回调函数的参数里面传给前端。<script src="http://www.t

2020-08-13 15:51:00 429

原创 借鉴Element-ui中源码方法实现H5页面中textarea自适应高度方法

借鉴Element-ui中源码方法实现H5页面中textarea自适应高度方法直接上方法和使用吧(vue项目)方法(在项目的公共方法中,添加一个js文件)let hiddenTextarea;const HIDDEN_STYLE = ` height:0 !important; visibility:hidden !important; overflow:hidden !important; position:absolute !important; z-index:-10

2020-05-19 17:10:11 424

原创 H5-移动端-textarea无法滚动问题

H5-移动端-textarea无法滚动问题一、项目说明H5项目,采用技术为vue,页面中使用的页面滑动插件是better-scroll(better-scroll 是一款重点解决移动端(已支持 PC)各种滚动场景需求的插件)。二、现象在项目中,一个录入信息的页面中,使用了textarea,让文本能滚动输入或查看。在文本框中录入了足够多的文本以后,发现textarea无法滚动,滑动的时候,会触发整个页面的滚动,这样这个就达不到我们页面想要的效果了。三、原因原因就是因为在触发textarea滑动的时

2020-05-19 16:54:22 3280

原创 vue-公共方法

目的:这篇文章主要是记录一下平时在项目中都会用到的一些通用方法,可以放在项目的utils文件下,使用起来比较方便。日期对象转为日期字符串/** * 日期对象转为日期字符串 * @param date 需要格式化的日期对象 * @param sFormat 输出格式,默认为yyyy-MM-dd 年:y,月:M,日:d,时:h,分:m...

2020-03-14 14:48:00 163

原创 vue-H5实现前端模糊查找

一、需求:需要根据一个本地的数据,实现本地数据的模糊查找。具体需求就是根据本地数据,在手机输入框输入一个字或者多个字时实现模糊查找的效果。二、实现原理:正则匹配三、难点:1、知道用户正在输入的是中文还是英文。如果是中文,在打字的时候,不能触发模糊搜索的方法,如果是输入的英文,那么就应该在输入第一个字母时就要触发,所以在vue中,input的change事件显然是不能满足的,因为chang...

2020-03-14 14:23:15 988

原创 移动端实现固定表格首列和表头(vue)

移动端实现固定表格首列和表头(vue)因为移动端项目需求要实现一个可以固定表格首列和表头的表格,但是移动端对表格需求很少,用的组件库中也没有设计这个组件,也不能用插件,所以只能自己写一个。语言是vue。基本思想:把首列和表头和主体表格分开;然后给tbody添加一个滑动监听,滑动的时候,触发事件让表头和首列固定就可以。但是注意的是,高度和宽度必须都要统一设置好,不然会出现表格不对齐的问题。实...

2019-12-18 16:37:12 4408 1

原创 TS-泛型

TS学习泛型基本使用//定义一个普通的函数 这样 只能返回一个number类型的数值 如果希望能传入一个任意类型的参数,则可以使用anyfunction Hello(num:number):number{ return num}//但是使用any的话 就失去了校验参数的意义 所以 我们就使用泛型function Hello1(str:any):any{ return...

2019-09-10 17:06:45 313

原创 TS-interface

TS学习Interface(接口)基本使用interface LabelValue{ label:string;}function printLabel(labelObj:LabelValue){ console.log(labelObj.label)}let myObj = {label:"hello"};printLabel(myObj)可选属性inter...

2019-09-10 16:05:47 363

原创 TS-class

TS学习Class(类)基本使用class Person{ name:string; age:number; constructor(name:string,age:number){ this.name = name; this.age = age; } print(){ return this.name...

2019-09-10 11:06:52 474

原创 TS-Function

TS学习Function(函数)基本写法function add(x:number,y:number):number{ return x+y}let myAdd = function(x:number,y:number):number{ return x+y}let myAddFun:(name:string,age:number) => number = fu...

2019-09-09 19:12:18 4580

原创 ES6-Iterator

IteratorIterator 的作用有三个:一是为各种数据结构,提供一个统一的、简便的访问接口;二是使得数据结构的成员能够按某种次序排列;三是 ES6 创造了一种新的遍历命令for…of循环,Iterator 接口主要供for…of消费。//模拟实现next方法,value属性代表当前成员的值,done是一个布尔值,表示遍历是否结束。function makeIterator(){...

2019-09-09 14:03:41 96

原创 ES6-set、map

Set、Map学习setSet。它类似于数组,但是成员的值都是唯一的,没有重复的值。const s = new Set();[2, 3, 5, 4, 5, 2, 2].forEach(x => s.add(x));for (let i of s) { console.log(i);}// 2 3 5 4接收一个数组作为参数初始化const set = ne...

2019-09-09 14:02:25 92

原创 ES6-class

class基本用法类的写法class Point { constructor(x, y) { this.x = x; this.y = y; } toString() { return '(' + this.x + ', ' + this.y + ')'; }}1)当使用了构造函数,并且new 构造函数(),后台会隐式执行new Object...

2019-09-09 14:00:31 100

原创 ES6-function

函数的扩展函数参数的默认值。function log(x, y = 'World') { console.log(x, y);}1)允许为函数的参数设置默认值,即直接写在参数定义后面2)即当参数值严格等于undefined时,默认值才会生效3)参数默认值不是传值的,而是每次都重新计算默认值表达式的值4)参数默认值与解构赋值的默认值结合使用函数的length属性...

2019-09-09 13:59:28 221

原创 ES6-base

Es6学习let const1.let 定义变量没有变量的提升,没有预解释。2.let 定义的变量不能重复定义。3、虽然不进行预解释,但是代码执行前也会将变量提前过滤一遍,一旦发现不合法,就直接报错,代码也不会执行。const 定义的是静态变量,不能修改值必须要赋值,不可以重复声明。变量的解构赋值。数组的变量赋值。let [a, b, c] = [1, 2, 3]...

2019-09-09 13:58:12 170

原创 webpack-thirdDay

thirdDay(2019/7/29)wabpack学习一、webpack+vue搭建一个小项目昨天学习了js与css文件的处理,基本插件都学习过了,今天就开始完成大作业,使用vue+webpack搭建实现一个小项目,将前两天学习的内容都运用进去。这次就实现一个简单的todolist。下面就开始实现步骤。主要讲webpack,vue的代码就不一一讲了。创建一个空文件:在vscode中打...

2019-09-09 10:56:25 108

原创 webpack-secondDay

secondDay(2019/7/26)wabpack学习一、webpackLoader学习昨天学习加载了js文件,今天开始学习加载css文件、图片、scss文件、css与js抽取剥离和压缩。加载css文件1)第一步需要安装css和style模块解析的依赖 style-loader和css-loader;2)添加css解析的loader,css-loader就是辅助解析js中的i...

2019-09-09 10:53:00 119

原创 webpack-fristDay

firstDay(2019/7/25)wabpack学习一、node.js学习了解node.js是什么。Node.js 就是运行在服务端的 JavaScript;可以让js可以开发后端程序,实现几乎后端语言实现的所有功能。node.js第一个项目vscode中新建一个hello.js文件,并输入一行命令,执行结果如下。3. 学习node.js文件系统语法node...

2019-09-09 10:43:43 100

原创 Typescript

TS学习一、基础类型布尔类型let bool:boolean = false //直接赋值let bool1:booleanbool1 = false //先声明变量再赋值数值类型let num:number = 123num = 123 num = 0b11010101 //二进制num = 0o173 //八进制num = 0x7b //十六进制字符类型let s...

2019-09-09 09:59:43 244 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除