- 博客(31)
- 收藏
- 关注
原创 JS使用递归修改多层级数据的key
cheangeAreaData(data) { for (var i = 0; i < data.length; i++) { for (var j in data[i]) { if (j == "value") { data[i]["id"] = data[i].value; delete data[i].value; } if (j == "children") { if (data[i].chi...
2021-10-30 17:24:59 1357
原创 JS性能分析 (测试代码运行时间)
console.time("timer");for(var i=0;i<10000;i++){}console.timeEnd("timer");//timer: 0.274169921875ms
2021-07-31 16:36:09 395
原创 vue 常见面试问题
1. v-if和v-for哪个优先级更高?如果两个同时出现,应该怎么优化得 到更好的性能?<!DOCTYPE html> <html> <head> <title>Vue事件处理</title> </head> <body> <div id="demo"> <h1>v-for和v-if谁的优先级高?应该如何正确使用避免性能问题?</h1>
2021-07-30 09:21:00 159
原创 JS中数组操作方法整理
1.join()功能:将数组中所有元素都转化为字符串并连接在一起。var arr = new Array(3)arr[0] = "George"arr[1] = "John"arr[2] = "Thomas"document.write(arr.join("."))//George.John.Thomas2.reverse()功能:将数组中的元素颠倒顺序。var arr = new Array(3)arr[0] = "George"arr[1] = "John"arr[2] =
2021-07-22 14:41:40 131
原创 Vue $emit()不触发方法的原因
Vue $emit()不触发方法的原因1.事件名称不全是小写。事件名称要求全小写。2.不是父子关系。这里的父子关系是严格的父子关系,祖孙关系也不行。只能一层一层触发,这在写树形组件时,很容易掉坑里。3.父组件没有用 .sync修饰符.sync是vue中用于实现简单的“双向绑定”的语法糖,在平时的开发中是非常使用的。vue的prop是单向下行绑定:父级的prop的更新会向下流动到子组件中,但是反过来不行。可是有些情况,我们需要对prop进行“双向绑定”。这个时候,就可以用.sync来解决。...
2021-07-14 11:45:17 4054
原创 uni-app自定义头部导航
一、参考资料getMenuButtonBoundingClientRect()在小程序平台,如果原生导航栏被隐藏,仍然在右上角会有一个悬浮按钮,微信下也被称为胶囊按钮。本API用于获取小程序下该菜单按钮的布局位置信息,方便开发者布局顶部内容时避开该按钮。二、代码实现<template> <view class="content"> <view class="header"> <view :style="{ height: top }">&l
2021-07-06 17:21:37 1140
原创 vue-element 调用接口导出和导入xlsx表格
一、axios 修改header// 数据导入export function import(data) { return request.post(`${baseUrl}/import`, data,{headers:{ 'Content-Type': 'multipart/form-data',"Type-Data":'xlsx'}})}// 数据导出export function export(data) { return request({ url:`${baseUrl}/expo
2021-07-01 10:26:13 1034
原创 git中Please enter a commit message to explain why this merge is necessary.
请输入提交消息来解释为什么这种合并是必要的git 在pull或者合并分支的时候有时会遇到这个界面。可以不管(直接下面3,4步),如果要输入解释的话就需要:1.按键盘字母 i 进入insert模式2.修改最上面那行黄色合并信息,可以不修改3.按键盘左上角"Esc"4.输入":wq",注意是冒号+wq,按回车键即可...
2021-06-03 15:00:30 88
原创 Git 合并两个分支内容
1,将开发分支代码合入到master中git checkout dev #切换到dev开发分支git pullgit checkout mastergit merge dev #合并dev分支到master上git push origin master #将代码推到master上 2,将master的代码同步更新到开发分支中merge方法:保证主干提交线干净(可以安全回溯)git checkout mastergit pu
2021-05-27 12:01:26 363
原创 js 加减乘除精度不准的问题
加法:function dcmAdd(arg1,arg2){ var r1,r2,m; try{r1=arg1.toString().split(".")[1].length;}catch(e){r1=0;} try{r2=arg2.toString().split(".")[1].length;}catch(e){r2=0;} m=Math.pow(10,Math.max(r1,r2)); return (accMul(arg1,m)+accMul(arg2
2021-05-26 16:17:22 352
原创 记一次git远端commit 回退
//查看版本号1.git log //本地回退版本2.git reset --hard 版本号//远端仓库强制回退3.git push origin +3.0:3.0
2021-05-26 11:22:10 183
原创 浏览器关闭弹框提示
mounted() { window.onbeforeunload = function(e) { e = e || window.event; // 兼容IE8和Firefox 4之前的版本 if (e) { e.returnValue = '关闭提示1111'; } // Chrome, Safari, Firefox 4+, Opera 12+ , IE 9+...
2021-05-14 10:35:11 396
原创 Vue-监听浏览器关闭
mounted() { // 监听浏览器关闭 window.addEventListener('beforeunload', e => this.beforeunloadHandler(e)) window.addEventListener('unload', e => this.unloadHandler(e)) }, destroyed() { window.removeEventListener('beforeunload.
2021-05-14 10:32:12 736
原创 检测浏览器是pc端还是移动端 是否微信浏览器
judgeTerrace() { //检测平台 let p = navigator.platform; this.system.win = p.indexOf("Win") == 0; this.system.mac = p.indexOf("Mac") == 0; this.system.x11 = (p == "X11") || (p.indexOf("Linux") == 0); this.s...
2021-05-13 16:05:00 347
原创 input验证
1. 身份证 let code = this.data.code//身份证号码 let reg = /^[1-9]{1}[0-9]{14}$|^[1-9]{1}[0-9]{16}([0-9]|[xX])$/; if (!code || !code.match(reg)) { console.log('身份证号码不正确') return false }2.手机号 let phone = phone if(!(/^1[34578]\d{9}$/.test(phone))){
2021-04-22 09:30:11 117
原创 Vue页面关闭时调用接口
mounted() { // 监听浏览器关闭 window.addEventListener('beforeunload', e => this.beforeunloadHandler(e)) window.addEventListener('unload', e => this.unloadHandler(e)) }, destroyed() { window.removeEventListener('before
2021-04-13 16:12:43 5118 2
原创 vue自定义微信分享
1.安装npm install weixin-js-sdk2.在页面引入 import wx from 'weixin-js-sdk';3.调用方法getShareInfo() { wxShare().then(res => {//获取微信appid接口 console.log(res) //拿到后端给的这些数据 let appId = res.data.app_id; let timestamp = res.data.timestamp;
2021-04-13 15:59:23 532 2
原创 二维数组去空
for (var i = 0; i < this.submitData.length; i++) { for (var j = 0; j < this.submitData[i].length; j++) { if (this.submitData[i][j] == 0) { this.submitData[i].spli...
2021-04-13 15:49:02 138
原创 rem自适应布局
//100px = 1remwindow.onload = function () { sizeWidth()}window.onresize = function () { sizeWidth()}function sizeWidth () { // 获取当前屏幕的宽度 var screenWidth = document.querySelector('html').offsetWidth // 基础值 var baseSz = 100 // 设计稿的宽度 va
2021-04-13 15:41:54 60
原创 八卦时钟
css<style> * { margin: 0; padding: 0; background: #669; } html, body { width: 100%; height: 100%; overflow: hidden; } #clock { position: relative; width: 100%
2021-03-15 14:52:55 746
原创 js 毫米秒转化时分秒并倒计时
let mss = 654615000 function formatDuring(mss) { let days = parseInt(mss / (1000 * 60 * 60 * 24)); let hours = parseInt((mss % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); let minutes = parseInt((mss % (1000 * 60 * 60)) / (100..
2021-03-15 14:45:01 450 1
原创 邮箱联想
html<body> <input type="text" list="input_list" name="text" placeholder="请输入邮箱" /> <datalist id="input_list"></datalist></body>js<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></scri
2021-03-15 14:40:21 133
原创 判断是否微信浏览器
//平台、设备和操作系统 let system = { win: false, mac: false, xll: false, ipad: false }; //检测平台 let p = navigator.platform; system.win = p.indexOf("Win") == 0; system.mac = p.indexOf("Mac") == 0; syste...
2021-03-15 14:37:23 156
原创 vue数据更新页面视图不更新
1.视图不更新情况一数组数据变动:我们使用某些方法操作数组,变动数据时,有些方法无法被vue监测,有些可以push()pop()shift()unshift()splice()sort()reverse()filter()concat()slice()这些不会改变原始数组,但总是返回一个新数组。当使用非变异方法时,可以用新数组替换旧数组Vue 不能检测以下变动的数组:① 当你利用索引直接设置一个项时,vm.items[indexOfItem] = newValue② 当你修改数
2021-03-15 14:35:12 311
原创 VUE - history模式打包后在服务器上页面空白的问题
history模式打包后在服务器上页面空白的问题解决方法 ----- 在base添加 /服务端文件名/
2021-03-15 14:31:05 305
原创 js自定义多选方法
choosely(n, value) { if (this.chooseAfterValue.indexOf(value) != -1) { this.chooseAfterValue.splice(this.chooseAfterValue.indexOf(value), 1) } else { this.chooseAfterValue.push(value) }},
2021-03-15 14:27:57 255
原创 JSON.parse报错问题
Uncaught SyntaxError: Unexpected token o in JSON at position 1是一个在使用JSON.parse方法时经常会遇到的报错那么问题来了报错信息中的token o代表了啥???首先必须记住,JSON.parse的第一个参数是字符串!!!所以上面的转化自然是[object object]测试一下其他数据就知道了切记我们在使用JSON.parse方法的时候,请先用JSON.stringify方法JSON.parse(JSON.stringify
2021-03-15 14:20:59 2722 1
原创 echarts动态数据不显示
echarts动态数据不现示由于ajax返回前端的数据为一个json字符串,而echart的data需要的是一个数组类型的数据,如果我们在后台将数据组成“[‘xxx’,‘aaa’,‘bbb’]”传给前端echart,echart是无法展示的,所以我们需要在前端将数据拆分放入数组中再传给echart就可以展示了。 var strs1 = new Array(); //定义一数组 var strs2 = new Array(); //定义一数组 strs1 = res.data.game_name
2021-03-15 14:17:19 1845
原创 git学习笔记
git学习笔记设置用户 $ git config --global user.name "Your Name" $ git config --global user.email "email@example.com"初始化$ git init提交本次更新到仓库$ git add .$ git commit -m “描述”查看仓库状态$ git status查看修改的地方$ git diff readme.txt查看文件的修改日志$ git log返回到上一次修改的状
2021-03-15 14:11:31 40
转载 前端页面布局概述
前言现在,我们被称为前端工程师。然而,早年给我们的称呼却是页面仔。或许是职责越来越大,整体的前端井喷式的发展,使我们只关注了js,而疏远了css和html。其实,我们可能经常在聊组件化,咋地咋地。但是,回过头来思考一下,如果你看到一张设计稿的时候,连布局都不清不楚,谈何组件化呢。所以,我们需要在分清楚组件之前,先来分清楚布局。废话说了这么多,只是想告诉你,布局这个东西真的很重要。本篇内容概括了...
2020-03-28 10:56:20 409
原创 常用css样式整理
常用css样式整理1. css 文本显示一行,超出显示…//一行width:100px;white-space: nowrap;text-overflow: ellipsis;overflow: hidden;word-break: break-all; //两行 当文本所在的盒子太高时,注意设置line-height,//否则肯能会出现第三行显示一半的情况width:10...
2020-03-28 10:22:57 142
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人