自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 资源 (1)
  • 收藏
  • 关注

原创 npm ERR! gyp ERR! stack Error: Can‘t find Python executable “python“, you can set the PYTHON env var

npm ERR! gyp ERR! stack Error: Can‘t find Python executable “python“, you can set the PYTHON env var

2023-12-11 10:41:23 525

原创 VUE 组件传值 $emit之 $event和arguments

$event和arguments

2023-09-12 17:49:47 342

原创 uniapp中调用震动、系统铃声以及自定义铃声

uni-app中调用系统的震动和铃声

2023-06-16 16:51:24 1906

原创 node版本管理器 nvm

nvm node

2023-02-22 23:06:35 161

转载 CSS 也可以防止按钮重复点击

css

2023-02-22 09:49:23 86

原创 js 数字与金钱格式相互转换

金钱格式 数字格式 相互转换

2023-02-01 15:51:54 1304

转载 Vue input的blur事件影响下拉框中点击事件的解决方案 用mousedown/mousedown替代click

input blur

2023-01-12 14:45:33 646

原创 监听 Ctrl+ 事件监听

ctrl+事件监听

2022-12-07 17:10:32 322

原创 js返回上一页和刷新页面

返回上一页刷新页面

2022-10-21 16:17:40 2696

原创 js中的多维数组转成一维数组

多维数组

2022-09-28 16:56:04 1651

原创 node.js 转码 gbk base64

前端转码

2022-09-08 11:44:36 372

原创 vue监听元素变化 不触发window.onresize

监听元素变化

2022-08-30 14:44:59 462

原创 [object InputEvent] input输入框报错的问题

[object InputEvent]

2022-06-08 23:12:14 969

转载 js 问号点操作符 (可选链 双问号)

js问号点操作符【?. ??】(可选链 双问号)

2022-02-24 17:57:35 496

原创 JavaScript indexOf() 方法

定义和用法indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。语法stringObject.indexOf(searchvalue,fromindex)searchvalue 必需。规定需检索的字符串值。fromindex 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的首字符开始检索。...

2022-02-11 14:32:52 361

原创 plus.io.requestFileSystem 获取手机文件目录

plus.io.requestFileSystem(plus.io.PUBLIC_DOCUMENTS, // 程序公用文档目录常量fs => {**// 绝对路径,以"file://"开头。加粗样式 // /sdcard–>为根目录**fs.root.getFile(‘file:///sdcard/Pictures/aaaa/123.xlsx’, {create: false // 文件不存在则创建}, fileEntry => { },error => {

2021-11-24 15:31:41 3940

原创 uni @click 阻止冒泡

<view class=“scanDetailsModal” @click=“closeModal”><view class=“scanDetailsModal_c” v-if=“true” @click.stop><view :class=“index==0?‘btnList’:‘btnListactive’” @click.stop=“modify(item)”>ceshi触发 modify 时 如果不加下图的内容 则 触发完modify

2021-11-17 17:56:51 379

原创 uni.navigateBack() 返回页面携带参数

当下级页面使用navigateBack 返回上级页面需要携带参数时可以使用监听的方式来实现自 HBuilderX 2.0.0 起支持uni.$emit(eventName,OBJECT)触发全局的自定义事件,附加参数都会传给监听器回调函数。uni.on(eventName,callback)监听全局的自定义事件,事件由uni.on(eventName,callback)监听全局的自定义事件,事件由 uni.on(eventName,callback)监听全局的自定义事件,事件由uni.emit 触

2021-11-04 15:24:12 8708

原创 .u-flex-#{$i} { flex: $i;}

2021-08-04 23:54:59 519

原创 js 实现文件流下载,文件下载进度监听

/*** 外部传入参数* hurl 下载地址* fileName 下载文件的名称*/ let that = this; var xhr = new XMLHttpRequest(); xhr.open('GET', hurl,true); xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xhr.responseType = "blob"; // xhr.onprogres

2021-06-24 14:40:05 2066

原创 JavaScript中call()apply()bind()

JavaScript 中 call()、apply()、bind() 的用法其实是一个很简单的东西,认真看十分钟就从一脸懵B 到完全 理解!先看明白下面:例 1obj.objAge; // 17obj.myFun() // 小张年龄 undefined例 2shows() // 盲僧比较一下这两者 this 的差别,第一个打印里面的 this 指向 obj,第二个全局声明的 shows() 函数 this 是 window ;1,call()、apply()、bind() 都是用

2021-05-26 00:07:12 61

原创 正则校验手机号和固定电话

var reg = /^((0\d{2,3}-\d{7,8})|(1[34578]\d{9}))$/; //校验手机号和固定电话if ( !reg.test(shop_tel) || check_empty(shop_tel) ){return alert(“请输入正确的手机号”);}

2021-05-18 10:27:21 2291

原创 js获取当天0点和24点的时间戳

let startTime1 = new Date(new Date(new Date().toLocaleDateString()).getTime()); // 当天0点let endTime1 = new Date(new Date(new Date().toLocaleDateString()).getTime() +24 * 60 * 60 * 1000 -1);// 当天23:59

2021-04-22 12:06:23 1370 2

原创 Node.js 事件循环

@[TOC]Node.jsNode.js 是单进程单线程应用程序,但是因为 V8 引擎提供的异步执行回调接口,通过这些接口可以处理大量的并发,所以性能非常高。Node.js 几乎每一个 API 都是支持回调函数的。Node.js 基本上所有的事件机制都是用设计模式中观察者模式实现。Node.js 单线程类似进入一个while(true)的事件循环,直到没有事件观察者退出,每个异步事件都生成一个事件观察者,如果有事件发生就调用该回调函数.事件驱动程序Node.js 使用事件驱动模型,当web ser

2021-04-13 10:34:13 47

原创 Node.js回调函数

@[TOC]Node.jsNode.js 异步编程的直接体现就是回调。异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了。回调函数在完成任务后就会被调用,Node 使用了大量的回调函数,Node 所有 API 都支持回调函数。function foo1(name, age, callback) { }function foo2(value, callback1, callback2) { }/**阻塞*///var fs = require(“fs”);//var data

2021-04-13 10:23:10 109

原创 Node.js REPL(交互式解释器)

1、直接输入node 启动REPL模式2、使用变量var下划线(_)变量node> var x = 10undefined> var y = 20undefined> x + y30> var sum = _undefined> console.log(sum)30undefined>3、REPL 命令ctrl + c - 退出当前终端。ctrl + c 按下两次 - 退出 Node REPL。ctrl + d - 退出 Node

2021-04-12 23:18:02 70

原创 VUE computed与watch配合使用监听对象内部的属性值变化

环境:uview 小程序和APP代码示例:data(){return{mode:{name: ‘’"}}}computed:{“model.name”:function(){if(typeof(this.model.name) == ‘string’){//自己的逻辑}},}onLoad(){//给model.name赋予新值}以上就是基础的代码,在小程序的环境中运行正常,能够进入到计算属性中执行自己的逻辑,但是在APP中却不执行计算属性中的代码(我目前不知道为什么不执

2021-04-08 15:52:31 1533

原创 [Vue warn]: Avoid adding reactive properties to a Vue instance or its root $data at runtime - declar

[Vue warn]: Avoid adding reactive properties to a Vue instance or its root $data at runtime - declare it upfront in the data option.Vue 封装数据时报该错误?vue.set(参数1,参数2,参数3);参数1:对象.数组参数2:下标 i参数3:数组【i】这是正确得格式 ,格式不正确会报错查找原因代码中的pickerList属性原来是在data中声明的,因为用不到

2021-03-25 12:03:00 5535

原创 Computed property “ “ was assigned to but it has no setter

计算属性调用时报图1 的警告,提示此问题,是因为在computed 里面定义的属性 只有一个return返回。因为在其他地方进行了赋值操作,导致提示此错误!修改为以下代码即可computed:{GBFLTitle:{get(){return this.model.detailList[0].guobflid.title},set(){if(this.model.detailList[0].guobflid){return this.model.detailList[0].guobf...

2021-03-25 11:50:47 1165

原创 rsa-js-java 加密/解密

rsa-js-javarsa-js-javaNPM 下载包npm i rsa-js-java --savejs使用import RSA from 'rsa-js-java'RSA.setMaxDigits(130)//通过接口获取到公钥的数据let key =new RSA.RSAKeyPair(exponent,'',module)//获取到key后,对需要加密的文件进行加密RSA.encryptedString(key, 'register_pwd');RSA.js可能会有报错,

2021-03-12 11:57:40 669

原创 动态引入 import

通常引入的方式:// import jrJS from ‘./common/jrAPI.js’;动态引入方式:let jrJS = ‘’;let str = ‘jrAPI.js’;import(’./common/’+str).then(res => {jrJS = res;});require的动态引入方式和上面一样;

2021-02-23 14:59:07 2013

原创 js 判断是数组还是对象还是字符串

let data = [1,2,3,4,5];if(Object.prototype.toString.call(data ) === ‘[object Array]’){console.log(‘数据为数组类型’)}if(Object.prototype.toString.call(data ) === ‘[object object]’){console.log(‘数据为对象类型’)}

2021-02-08 12:03:47 7345

原创 如何判断当前环境是企业微信

可以通过这个获取 window.navigator.userAgent;判断H5页面是否在微信/企业微信环境中打开:var ua = navigator.userAgent.toLowerCase(); // 将用户代理头的值转为小写判断微信的方法的两种方法:ua.match(/micromessenger/i) == ‘micromessenger’/micromessenger/i.test(navigator.userAgent); //结果为true或者false判断企业微信环境的两种

2021-02-07 09:55:52 6355 1

原创 vue 监听浏览器窗口宽度变化

首先在data中定义要监听的属性,因为watch侦听器监听的是data中的属性,不能直接监听windowexport default {data () {return {screenWidth: document.body.clientWidth,}}}在mouted当中调用window监听resize事件会在窗口或框架被调整大小时触发mounted(){let that = this;window.addEventListener(“resize”, function() {ret

2021-01-25 17:43:51 2557 1

转载 js判断一个数组是否包含一个指定的值

1、array.indexOf 此方法判断数组中是否存在某个值,如果存在返回数组元素的下标,否则返回-1let arr = [‘something’, ‘anything’, ‘nothing’, ‘anything’];let index = arr.indexOf(‘nothing’);console.log(index) //结果是22、array.includes(searchElement[, fromIndex]) 此方法判断数组中是否存在某个值,如果存在返回 true,否则返回

2020-07-02 15:13:38 1788

原创 css3选择器如何选择同一个父级下的相同class的第一个元素 nth-child nth-of-type

1 2 3 4 5选择第一个类名: .demo .item: nth-of-type(1) { … } || .demo .item: nth-child(1) { … };选择最后一个类名: .demo .item: last-child { … };选择其中一个指定的类名:.demo .item: nth-of-type(x) { … } || .demo .item: nth-child(x) { … };那么nth-of-type与nth-child 什么区别呢:n...

2020-06-28 23:01:00 8021 1

转载 Array.prototype.slice.call方法详解

在很多时候经常看到Array.prototype.slice.call()方法,比如Array.prototype.slice.call(arguments),下面讲一下其原理:1、基本讲解1.在JS里Array是一个类 slice是此类里的一个方法 ,那么使用此方法应该Array.prototype.slice这么去用slice从字面上的意思很容易理解就是截取(当然你不是英肓的话) 这方法如何使用呢?arrayObj.slice(start, [end]) 很显然是截取数组的一部分。2.我们再看

2020-06-09 16:54:16 759

原创 Window setInterval() 方法

Window 对象 setInterval()定义和用法setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。提示: 1000 毫秒= 1 秒。提示: 如果你只想执行一次可以使用 setTimeout() 方法。var myVar = setInterval(f

2020-06-03 22:57:36 2143

原创 ES6 判断字符串以什么开头或者什么结尾

startsWith()方法确定字符串是否以指定字符串的字符开头,返回true或false。endsWith()方法和startsWith()方法的语法都是一样的,不过endsWith()方法是从字符串的末尾开始查找。let str = "https://C:/Users/2/1.png";console.log(str.startsWith("https://"))// true;console.log(str.startsWith("http://"))// false;console.log

2020-06-02 21:11:19 4926

原创 VUE v-slot 项目中具体使用

模块功能介绍:想封装一个通用的组件,但是组件的其中一部分需要能够自定义,数据和结构都不同,这样需要在组件里面嵌套组件,所以想到了用slot插槽来解决;实现思路:1、封装最外层组件,在里面循环数据,需要把单项数据传递给插槽位置的子组件,定义插槽的name值,并定义需要传递给子组件的数据(可理解为props),子组件接受的是props对象,对象的attribute为nodeListData;2、调用父组件时插槽部分必须把定义的name值绑定到template上,template上使用v-slot指令

2020-05-27 12:12:32 1682

虚拟列表--演示文件 示例

1、page = 300 2、共300个数据,当滑动到100条数据时向下获取100条数据,以此类推

2022-02-17

空空如也

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

TA关注的人

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