- 博客(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 599
原创 JavaScript indexOf() 方法
定义和用法indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。语法stringObject.indexOf(searchvalue,fromindex)searchvalue 必需。规定需检索的字符串值。fromindex 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的首字符开始检索。...
2022-02-11 14:32:52 386
原创 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 4349
原创 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 409
原创 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 9071
原创 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 2174
原创 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 85
原创 正则校验手机号和固定电话
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 2353
原创 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 1419 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 71
原创 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 129
原创 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 89
原创 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 1595
原创 [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 5801
原创 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 1205
原创 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 765
原创 动态引入 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 2045
原创 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 7597
原创 如何判断当前环境是企业微信
可以通过这个获取 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 7199 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 2638 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 1848
原创 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 8364 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 1081
原创 Window setInterval() 方法
Window 对象 setInterval()定义和用法setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。提示: 1000 毫秒= 1 秒。提示: 如果你只想执行一次可以使用 setTimeout() 方法。var myVar = setInterval(f
2020-06-03 22:57:36 2263
原创 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 5074
原创 VUE v-slot 项目中具体使用
模块功能介绍:想封装一个通用的组件,但是组件的其中一部分需要能够自定义,数据和结构都不同,这样需要在组件里面嵌套组件,所以想到了用slot插槽来解决;实现思路:1、封装最外层组件,在里面循环数据,需要把单项数据传递给插槽位置的子组件,定义插槽的name值,并定义需要传递给子组件的数据(可理解为props),子组件接受的是props对象,对象的attribute为nodeListData;2、调用父组件时插槽部分必须把定义的name值绑定到template上,template上使用v-slot指令
2020-05-27 12:12:32 1742
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人