![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
javascript
Shimeng_1989
这个作者很懒,什么都没留下…
展开
-
element-ui,el-upload上传图片/文件函数传参方法
element-ui,el-upload上传图片/文件函数传参方法原创 2022-08-14 15:17:00 · 1172 阅读 · 0 评论 -
全国省市json文件
[ { "label":"北京", "level":"1", "code":"1100", "children":[ { "label":"北京", "level":"1", "code":"1100" } ] }, { "label":"天津", "level":"1", "code":"120.原创 2022-04-19 18:13:10 · 2985 阅读 · 0 评论 -
小程序 自定义tabbar + 自定义tabbar样式 + tabbar切换激活样式问题
我用的是Vant Weapp UI组件库, 需要用store 全局共享数据 解决tabbar切换激活样式问题关于如何使用 Mobx,创建store可参考:微信小程序 Mobx实现数据共享(创建store数据共享 + 页面、组件间的数据传递)_Shimeng_1989的博客-CSDN博客自定义tabbar 步骤:在app.json中,开启自定义tabbar设置 // 以下内容可参考 小程序文档 -- 自定义tabbar// 1.在package.json 文件中找到/新增 ...原创 2022-04-15 22:21:56 · 3340 阅读 · 0 评论 -
微信小程序 Mobx实现数据共享(创建store数据共享 + 页面、组件间的数据传递)
各页面/组件间的数据共享。安装npm包步骤:(图一)打开编译器,在文件列表空白处点击右键,选择“在外部终端窗口中打开”(如图一中:1 ) 执行命令:npm init -y ,初始化一个package.json。( 项目中已有package.json 文件忽略此条) 。(图一中:2 的文件) 有了package.json后,执行命令:npm install --save mobx-miniprogram@4.13.2 mobx-miniprogram-bindings@1...原创 2022-04-15 16:56:17 · 4549 阅读 · 3 评论 -
微信小程序 behaviors 组件之间数据共享
behavior:被共享的属性、数据、方法等,类似vue中的 minxbehavior中, 也可以引用其他 behavior 每个组件,可以引用多个 behavior 同名字段的覆盖 和 组合规则:(3种)具体可参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/behaviors.html 同名的数据字段(data) 同名的属性(properties) 和方法(methods)原创 2022-04-14 16:36:10 · 750 阅读 · 0 评论 -
微信小程序 wxs
wxs脚本特点:借鉴了大量js语法,但是与js不同,是两种语言。 不能作为组件的事件回调 典型的应用场景是做 “过滤器”,经常配合 Mustache 语法进行使用。例如: <view>{{m1.toUpper('wsm')}}</view> 不能作为组件的事件回调。例如: ( 错误 ) !!!!!! <view bindtap="m1.toUpper">转换大小写</view> 隔离性:wxs原创 2022-04-14 15:09:06 · 654 阅读 · 0 评论 -
微信小程序 父子组件通讯/传值
3种方式:属性绑定:父组件 向 ——> 子组件的指定属性设置数据。仅能设置json兼容的数据,如:基本数据类型、object等 (不能传递复杂属性的数据,如:方法等)。 事件绑定:子组件 向 ——> 父组件传递数据。(调用triggerEvent方法) 可传递任意数据 获取组件实例:通过 方法,获取子组件实例对象,这样就可以直接访问子组件的任意数据和方法。【在父组件中,为子组件添加类名--id / class名,通过selectComponent('子组件id/class名')获取子..原创 2022-04-14 11:48:26 · 3938 阅读 · 0 评论 -
微信小程序 组件生命周期
created:组件实例刚被创建好,此时还不能调用setData attached:组件完全初始化完毕,进入页面节点树 这个生命周期很有用,绝大多数初始化的工作可以在这时进行(如:发起网络请求) detached:离开页面节点树。可以清理一些定时器等工作组件的生命周期:新旧写法同时存在的时候,以新写法为准,旧写法不会生效v组件所在页面的生命周期:show:组件所在的页面被展示。(如:切换页面,切换tabbar等) hide:组件所在的页面被隐藏。(如:切换页面,切换tabba原创 2022-04-13 16:18:03 · 4321 阅读 · 0 评论 -
微信小程序 引入 全局 + 局部组件 及组件传参 + 修改值
注意:全局/局部组件 -- 引入的文件路径不要加后缀!!!(因为打包的时候,文件夹的.js,.json,.wxml , .wxss 文件 会打包成一个文件)局部组件 的定义// 注意事项: 全局/局部组件 -- 引入的文件 不要加后缀。!!!(因为打包的时候,文件夹的.js,.json,.wxml , .wxss 文件 会打包成一个文件)// 组件的 .json 文件{ "component": true,}//引用组件的页面的 .json 文件{ "usingComp.原创 2022-04-12 20:24:33 · 3265 阅读 · 0 评论 -
微信小程序 上拉刷新 ,下拉加载( + 防止多次请求)
上拉刷新配置样式 ( 全局 / 局部):.json文件中,下拉刷新 窗口背景色 ----- 仅支持16进制(即:#eeeeee,不支持red,pink等英文) 下拉刷新loading样式 ----- 仅支持 'dark'、'light' { "usingComponents": {}, "enablePullDownRefresh": true,//本页面开启下拉刷新 "backgroundColor": "#349edf",//背景色,目前仅支持16进制,如:#ee...原创 2022-04-11 16:37:18 · 1001 阅读 · 0 评论 -
js取交集、并集、差集(es6中 set 方法)
let arr1 = new Set([1, 2, 3]);let arr2 = new Set([4, 3, 2]); // 并集let union = new Set([...arr1, ...arr2]);// Set {1, 2, 3, 4} // 交集let intersect = new Set([...arr1].filter(x => arr12.has(x)));// set {2, 3} // 差集let difference = new Set([....原创 2021-09-22 09:53:18 · 435 阅读 · 0 评论 -
input 输入框校验规则
(只能输入英文,数字,汉字):// HTML<el-input v-model="form.userName" @keyup.native="checkInput()"/>// js:methods:{ checkInput(){// 正则符号释义: []符号为:匹配到[]中任意一个字符,则为true let nameReg=/[^A-Za-z0-9\u4e00-\u9fa5]/g // 只能输入英文,数字,汉字 let nameReg=/[\u4e0..原创 2021-09-02 17:04:11 · 2087 阅读 · 0 评论 -
js复制 兼容浏览器
情景:有的浏览器复制后可以粘贴出来复制的内容,有的浏览器粘贴不出复制内容。尝试的浏览器:1、谷歌浏览器可以复制并粘贴。2、sarari、360浏览器可复制,但是粘贴不出东西(其他浏览器未试)原因:1、这是一个安全考虑,因为exeCommand()可以操作系统剪切板,有可能被恶意利用。所以你不能用JS“直接”调用execCommand('copy'),而需要放到某一个有用户出发的事件响应函数内,如。只有通过用户实际操作才能触发exe...原创 2021-07-27 15:36:41 · 397 阅读 · 0 评论 -
echarts 关系图, 动态修改高度
情景:由于人物关系复杂,可以有几个 ——几十个(上百个),所以固定范围内(如:500高度)可能放不下,或者太空。所以可以根据node节点(也可根据其他判断条件)来动态修改 div / canvas高度。如果还是超出(eg:节点或者关系多),可添加roam:true的属性实现可平移拖拽 / 缩放。返回的数据:html: <div> <h5>人物关系图谱</h5> <div id="relation.原创 2021-05-27 17:13:18 · 1852 阅读 · 1 评论 -
echarts关系图配置,及超出范围处理 + a、b两个节点互相指向时线上的字重叠问题
情景:由于人物关系复杂,可以有几个 ——几十个(上百个),所以固定范围内(如:500高度)可能放不下,或者太空。所以可以根据node节点(也可根据其他判断条件)来动态修改 div / canvas高度。如果还是超出(eg:节点或者关系多),可添加roam:true的属性实现可平移拖拽 / 缩放。(在下一节讲述)效果如图:数据:// 数据let data = { nodes = [ // {symbol: 'image://http://127.0.0.1:8080原创 2021-05-27 11:21:13 · 6614 阅读 · 4 评论 -
el-table 点击排序只有升序、降序,及设置点击先降序再升序
html:<el-table :data="echartsData" :default-sort="{ prop: '好评', order: 'descending' }" @sort-change="sortRankChange"> <!-- 只有升序降序,默认降序 --> <el-table-column :sort-orders="['descending', 'ascending']" pr原创 2021-04-21 15:39:03 · 3162 阅读 · 0 评论 -
js原生下载excel(xlxs及xls格式)、word、png(图片格式)方法
(亲测有效)原生js下载Excel、word、png(图片)格式js方法部分:// 下载文件(格式) type:1 excel 2 word 3 image// url为接口部分:如 /restart/getchinaareainfo.do// 传参方式 let params = {// username:'小名', // zyUserId:'23123' // }// 调用方原创 2021-03-08 17:02:03 · 1204 阅读 · 0 评论 -
本地项目登录时一直提示验证码错误 / 参数为空(即浏览器存不上sessionid)问题
场景:早上上班起本地之后,登录时一直提示验证码错误 / 参数为空或者不合法(另一个相同登录原理的项目)。并且只有我mac 版的Chrome浏览器有问题,Safari都可以正常登录。另一台台式机的Windows的Chrome也可以(可能只是单纯的浏览器问题,跟系统无关)经查询后,发现是Chrome浏览器cookie中无sessionid(没存上)。解决办法:谷歌浏览器地址栏输入:chrome://flags/,将 SameSite by default cookies、Cookies witho原创 2020-08-29 15:40:37 · 3815 阅读 · 0 评论 -
element-ui 自定义函数校验(简版)
html:<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px"> <el-form-item label="员工姓名" prop="userName"> <el-input v-model="ruleForm.userName" placeholder="最多可输入十个字"></el-input> &l.原创 2020-05-29 10:44:29 · 1165 阅读 · 0 评论 -
js复制功能,可粘贴到word,微信等其他地方(复制内容可换行)
情景:返回的list列表中,需要有复制功能,可以复制当前内容,并且当前内容有需要换行的需求。 代码如下:(vue项目)HTML:<ul> <li v-for='(item,key) in content' :key='key' @click="copyContent(item)"> {{i...原创 2020-04-22 13:54:53 · 1728 阅读 · 0 评论 -
子组件中$parent获取不到父组件属性及函数 ?
涉及到很多的前端插件的使用的时候我们并不能直接通过this.$parent.status找到他的父组件里面的变量。因为有些子组件里面可能外包了一个框架的组件,比如 element-ui 下面这个子组件:el-drawer他也是个组件。如果你想找他的父组件。有的时候你得向上找两层甚至更多层(这要看你写的布局及构造)。如:this.$parent.$parent才可以。如:this.$par...原创 2019-12-22 15:25:32 · 3398 阅读 · 0 评论 -
search,index, charAt, find,findIndex , includes 区别
search, indexOf : 根据str,找下标,返回第一个出现。 只 字符串可用,数字类型(number)不可用。-----大小写敏感 charAt: 根据下标,找对应字符,返回第一个出现。 字符串,数组可用,数字类型(number)不可用。 -----大小写敏感(ES6为Array增加了find(),findIndex函数。)find():返回符合查找条件的目标元素,找不到返回u...原创 2019-11-28 14:54:08 · 1030 阅读 · 0 评论 -
apply()与call()的区别
JavaScript中的每一个Function对象都有一个apply()方法和一个call()方法,它们的语法分别为:// apply()方法function.apply(thisObj[, argArray]);// call()方法function.call(thisObj[, arg1[, arg2[, [,...argN]]]]);它们各自的定义:apply:调...转载 2018-10-23 15:18:33 · 178 阅读 · 0 评论 -
Vue2 导出Excel + 解决乱码问题 —— axios (下载后台传过来的流文件(excel)后乱码问题)
请求用的axios(类似ajax问题),找了很多方法,都下载不了文件。 以下是解决方法):1.接口返回的流: 2、请求头和返回头: 方法一、方法二:2.下载流文件的代码 方法一:是用了插件 https://github.com/kennethjiang/js-file-download方法二:是用了 blob不管哪种方法,记得设置 ...转载 2018-08-17 11:29:58 · 20774 阅读 · 21 评论 -
百度地图,用户拒绝获取地理位置getStatus()还是等于BMAP_STATUS_SUCCESS,拒绝依旧显示地理位置
1、(用的浏览器定位)百度地图 JavaScript API中有一个方法是通过浏览器定位,getCurrentPosition。但是用户拒绝或者允许获取地理位置,this.getStatus()都是0; var myposition; var myposition_lng; var myposition_lat; var geolocation = new...转载 2018-07-17 18:20:00 · 4241 阅读 · 0 评论 -
路由跳转前后,this.$route值
路由配置:{path: "/MatchingInfQT",component: MatchingInfQT,meta: {newOne:false,}},路由(代码处)跳转代码前后,打印this.$route(页面跳转前,改变MatchingInfQT路由的meta值)console.log(1,this.$route)this.$router.push...原创 2018-06-20 16:47:06 · 7413 阅读 · 0 评论 -
返回数据中的换行符,标签内不显示换行问题
(接口返回数据-已返回换行符):IE返回数据:chorme返回数据:页面显示(不是textarea,是div)(IE + Chrome):问题:换行符已返回,但是页面没有换行显示 ;如果用conclusion.replace(/\r\n/g, '</br>').replace(/\n/g, '</br>') 将html元素br替换换行符,会直接将<br>显示...原创 2018-06-25 18:25:38 · 11454 阅读 · 4 评论 -
从输入URL到浏览器显示页面,后台发生了什么?
当在浏览器地址栏输入网址,如:www.baidu.com后浏览器是怎么把最终的页面呈现出来的呢?这个过程可以大致分为两个部分:网络通信和页面渲染。一、网络通信 互联网内各网络设备间的通信都遵循TCP/IP协议,利用TCP/IP协议族进行网络通信时,会通过分层顺序与对方进行通信。分层由高到低分别为:应用层、传输层、网络层、数据链路层。发送端从应用层往下走,接收端从数据链路层网上走。如图所转载 2017-08-22 18:13:47 · 499 阅读 · 0 评论 -
js 数组方法
JavaScript中创建数组有两种方式(一)使用 Array 构造函数:var arr1 = new Array(); //创建一个空数组var arr2 = new Array(20); // 创建一个包含20项的数组var arr3 = new Array("lily","lucy","Tom"); // 创建一个包含3个字符串的数组(二)使用数组字面量表示法:va...转载 2019-06-06 16:38:01 · 152 阅读 · 0 评论 -
vue scss scoped 穿透符>>> 无效,另一种写法
vue引用了第三方组件,需要在组件中局部修改第三方组件的样式,而又不想去除scoped属性造成组件之间的样式污染。此时只能通过>>>,穿透scoped。但有些Sass 之类的预处理器无法正确解析>>>,(此时)可以使用/deep/操作符(>>>的别名)<style scoped>(方法一:)(有些情况可能会无...原创 2019-08-28 09:49:04 · 13077 阅读 · 2 评论 -
vue cli3 代理跨域 404(失败)问题
情景:在写vue cli 中的代理时,百度了好久也没代理上,最终的问题出在路径重写上。特此记录一下,如果有跟我有一样问题的小伙伴,欢迎前来参考,可根据各自情况和实际问题进行调试。接口地址:代理地址为(开发环境):// .env.development 文件中、VUE_APP_BASE_API 在不同环境( .env.production文件,.env.staging...原创 2019-08-28 09:31:33 · 10755 阅读 · 2 评论 -
echarts地图,及经纬度(省市两级经纬度)
在省市两级版本基础上增加经纬度数据的新版本。(原经纬度链接:https://blog.csdn.net/abcmaopao/article/details/79554904)注意:赋值时,要注意数值类型(尤其为后台返回参数中)。要求number类型,赋值string,会引起地图构建问题,如:只有背景色、不显示地图上圆点的值等等)//import map from "./pubAnalyz...原创 2019-08-28 09:30:19 · 5959 阅读 · 0 评论 -
element ui (饿了么)table 表格获取下标
<el-table-column label='序号'> <template slot-scope="scope"> <!-- 方法一 --> <span v-text="scope.$index+1"></span> <!-- 方法二 --> <!-- {{scope.$index...原创 2019-07-16 11:14:20 · 7610 阅读 · 1 评论 -
ie刷新页面,进入404 页面 ( {path:*,redirect:'/404'}页面)
vue项目中用了动态路由,addRoutes(),谷歌,edge等其他浏览器都没问题,只有ie浏览器进入动态路由后,一刷新就会跳转到重定向的(redirect:’/404‘)。过程是这样的:1、登录接口获取到路有权限2、去store中存储到state中,并通过cookie.js 存到cookie中3、每次跳转页面判断是否存在角色路由(是否刷新丢失路由)4、如丢失则去获取cook...原创 2019-09-10 19:52:25 · 4891 阅读 · 0 评论 -
vue element - ui 项目, scrollbar模块,切换页面不置顶
我们项目为vue项目,整个html是分为三个区域 上、下、(下面部分包含:)左、右。问题为:点击左侧菜单,切换路由,(新页面)右侧内容区域为当前scrolltop高度,未置顶(未从顶部显示)。解决方法:1、先检查路由文件是否添加 下段代码(此段代码是将整个页面(html)置顶显示,而我们项目是分为上下两块div,上部分为20%,下面高度为80%,下部分又分为左右两部份,左侧围...原创 2019-10-24 10:32:09 · 1101 阅读 · 0 评论 -
$.each()和$().each(),以及 forEach ()的用法
1.forEach是js中遍历数组的方法,如下var arr=[1,2,3,4];arr.forEach(function(val,index,arr){//val为数组中当前的值,index为当前值的下表,arr为原数组 arr[index]=2*val;});console.log(arr);//结果是修改了原数组,为每个数乘以22.$.each()是jquery中遍历数组的转载 2017-08-12 17:32:02 · 429 阅读 · 0 评论