入门教程

1.问题一

element表格多选框改为单选框效果

<el-tableref="multipleTable":data="tableData"@selection-change="handleSelectionChange"
><el-table-column type="selection" width="55"> </el-table-column>
<el-table>
handleSelectionChange(val) {if (val.length > 1) {this.$refs.multipleTable.clearSelection();this.$refs.multipleTable.toggleRowSelection(val.pop());} else if (val.length === 1 ){console.log(val, 222);}
},  .el-table {
margin-top: 20px;
thead tr th:nth-of-type(1) {visibility: hidden;
}
.el-checkbox__inner {border-radius: 50%;
}
}

2.问题二

GitHub打不开

3.问题三

switchhost软件报 please run switchhosts as an administrator
‪C:\Windows\System32\drivers\etc\hosts

4.问题四

函数先备份,后调用

 var p = function (params) {console.log(11111111)
}
var c = p;
p = function () {console.log(222222)
}
console.log(c())//11111111

5.问题五

获取元素距离窗口的的距离,以及元素的宽高
offsetTop 只能显示元素到父元素顶部的距离
所以调用方法 getBoundingClientRect 后返回的对象中的属性的 top
即 (需要读取的元素).getBoundingClientRect().top 即可返回到页面顶部的距离

6.问题六

解决eslint代码换行符报错问题
.eslintrc.js 文件内加上这一条
rules: {
endofLine: ‘auto’,
},

7.问题七

接口返回response的token数据,浏览器可见,但是axios不能读取到,需要后台加上这个设置
// 让浏览器能访问到其它响应头
response.addHeader("Access-Control-Expose-Headers","token");

8.问题八

不同账号,有的账号能登录,有的账号出现跨域错误
前端根据login接口,得到token信息,存到cookie里面
因为,后天根据用户信息(包括权限)生成token,token超长,导致传给后台有识别问题

ip 地址解析   百度地图  后台解析地址
实名认证  创蓝云智  3毛钱
短信验证  创蓝云智  3毛钱
友盟读取地址信息

9.问题九

滚动条默认显示底部 如何让滚动条显示到顶部
滚动条层旋转180° 内容层再旋转180°

10.问题十

<input type='number'> 弹出默认键盘   不好看
<input type='tel' pattern = '[0-9]'>  弹出纯数字键盘

11.问题十一

页面切换路由 第一个页面没有滚动条 第二个页面有滚动条
会出现中间内容区闪烁问题,解决方法

<div style=" padding-left: calc(100vw - 100%);"><div style="width:1200px;height: 1000px;margin:0 auto;"></div>
</div>

12 问题十二

element使用v-model.trim修饰符,用户在输入的时候 不能输入空格 需要在内容之间输入空格
解决办法是下面

 <el-inputv-model="form.roleDesc"class="w350"placeholder="请输入角色描述"clearable@blur="form.roleDesc=$event.target.value.trim()"/>

13 问题十三

一个盒子 内有两个元素 一个svg 一个span文字 微调他们上下距离对齐

 .svg-icon.maintain {width: 20px;height: 20px;margin-right: 12px;vertical-align: -0.45em;}.svg-icon.selected {margin-right: 14px;width: 18px;height: 18px;transform: translateX(-2px);vertical-align: -0.5em;}

14 问题十四

http://qfdfs.jhjzfund.com/group1/M00/00/00/CmVR3WCnBT-NLuotIE74.pdf
不同源 用a标签下载时,浏览器会直接预览pdf文件,doc文件可以下载,这时候需要走接口

  1. application/msword doc
  2. application/pdf pdf
  3. application/vnd.openxmlformats-officedocument.wordprocessingml.document docx
this.fileLinkToStreamDownload('http://qfdfs.jhjzfund.com/' + url, '文件名', '文件后缀')fileLinkToStreamDownload(url, fileName, type) {const reg = /^([hH][tT]{2}[pP]:\/\/|[hH][tT]{2}[pP][sS]:\/\/)(([A-Za-z0-9-~]+).)+([A-Za-z0-9-~\/])+$/if (!reg.test(url)) {throw new Error('传入参数不合法,不是标准的文件链接')} else {const xhr = new XMLHttpRequest()xhr.open('get', url, true)xhr.setRequestHeader('If-Modified-Since', '0')xhr.setRequestHeader('Content-Type', `application/${type}`)xhr.responseType = 'blob'var _this = thisxhr.onload = function() {if (this.status == 200) {// 接受二进制文件流var blob = this.response_this.downloadExportFile(blob, fileName, type)}}xhr.send()}
},downloadExportFile(blob, tagFileName, fileType) {const downloadElement = document.createElement('a')let href = blobif (typeof blob == 'string') {downloadElement.target = '_blank'} else {href = window.URL.createObjectURL(blob) // 创建下载的链接}downloadElement.href = hrefdownloadElement.download = tagFileName + '.' + fileType // 下载后文件名document.body.appendChild(downloadElement)downloadElement.click() // 点击下载document.body.removeChild(downloadElement) // 下载完成移除元素if (typeof blob != 'string') {window.URL.revokeObjectURL(href) // 释放掉blob对象}
},

https://blog.csdn.net/yueguangMaNong/article/details/110949974
在前后端分离项目中,由于跨域,导致前端每次请求后台都会发送一个
options请求去检查目标站点是否可达,这样后台就会收到很多响应码
为204的OPTIONS请求,虽然每次请求都耗时极少,但是一旦请求量大了,
还是会占用部分连接资源,并且日志中也会存在很多没用的数据,
导致日志文件体积增加。下面就来讲讲如何利用Nginx拦截这些OPTIONS请求

跨域存在预请求,走后台拦截options耗时多,所有用niginx拦截,直接返回204
但是$request_method = 'OPTIONS’时候也要设置跨域请求头

可以看到每个200响应之前都有一个204响应,耗时也就5毫秒,但是就是看它不爽。
同样服务器端的日志是一个204响应一个200响应

设置nginx之后 也会有204请求 但是耗时0ms
后台日志 也只有一个200的get请求

location /{if ($request_method = 'OPTIONS') {# 对于OPTIONS,不保存请求日志到日志文件access_log off;# 这里配置允许跨域的域名,* 代表所有,也可以写域名:http://www.xxx.com 或者IP+端口                                           http://192.168.1.10add_header 'Access-Control-Allow-Origin' '*';# 允许的请求类型add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS';add_header 'Access-Control-Allow-Credentials' true;add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-    Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';# 允许跨域的最大时间,超过这个时间又会重发一次OPTIONS请求获取新的认证add_header 'Access-Control-Max-Age' 1728000;add_header 'Content-Type' 'text/plain charset=UTF-8';add_header 'Content-Length' 0;# 直接在这里返回204响应,不转发到后台服务程序return 204;}
}

15 问题十五

nrm用cnpm安装后成功,但是nrm ls 报错

The “path” argument must be of type string. Received undefined

解决:使用npm降低版本安装

16 问题十六

项目借助git暂存,有时候改项目代码时候,不小心改了不该改的代码,发现页面崩溃了,这时候需要用到撤回代码看看

17 问题十七 微信小程序手机端调试不能访问后台

解决
问题
在微信开发者工具中能正常请求本地后台数据,但在手机预览中却请求不到。

解决办法
1、在微信开发者工具中设置:不校验合法域名、web-view(业务域名)、TLS 版本以及 HTTPS 证书

2、微信小程序开发者工具中,wx.request请求的地址不得使用localhost,而应改成本地服务器所在的电脑IP,查看本机IP地址的方法为:打开cmd,输入ipconfig,IPV4即为需要修改的IP地址

3、手机和电脑(本地服务器)需要连接同一局域网(WIFI网络)

4、手机扫码进入小程序后,需要打开手机开发者模式,重启小程序,才能请求到数据。

18 Mysql连接报错:1130-host … is not allowed to connect to this MySql server如何处理

https://blog.csdn.net/sh541210/article/details/81981062
在搭建完LNMP环境后用Navicate连接出错

遇到这个问题首先到mysql所在的服务器上用连接进行处理

1、连接服务器: mysql -u root -p

2、看当前所有数据库:show databases;

3、进入mysql数据库:use mysql;

4、查看mysql数据库中所有的表:show tables;

5、查看user表中的数据:select Host, User,Password from user;

6、修改user表中的Host:update user set Host=‘%’ where User=‘root’;

7、最后刷新一下:flush privileges;

#一定要记得在写sql的时候要在语句完成后加上" ; "下面是图示说明

19 Mysql连接报错:wx.getUserProfile is not a function

20 当我们使用 NODE_ENV = production 来设置环境变量的时候,会有windows命令被阻塞,导致报错。cross-env 能够提供一个设置环境变量的scripts,这样就可以同时兼容unix和windows。

修改前

"scripts": {"build": "NODE_ENV=production webpack --config webpack.config.js"},

npm install cross-env --save-dev

修改后

"scripts": {"build": "cross-env NODE_ENV=production webpack --config webpack.config.js"}

21 配置nginx的https时候,配置完了,重启nginx报错,nginx: [emerg] unknown directive “ssl” in /usr/local/nginx/conf/nginx.conf:16

https://blog.csdn.net/weixin_38111957/article/details/81283121

22 霸屏动画在ios app中显示有白背景 ,所以要单独用其他的做

做lottie动画时 Android可以显示透明色

23 移动端适配

/* Rem 核心实现 */

  (function (doc, win) {var docEl = doc.documentElement;var clientWidth = docEl.clientWidth;var resizeEvt = 'orientationchange' in win ? 'orientationchange' : 'resize';var recalc = function () {if (clientWidth === undefined) return;docEl.style.fontSize = 20 * (clientWidth / 375) + 'px';};if (doc.addEventListener === undefined) return;win.addEventListener(resizeEvt, recalc, false);doc.addEventListener('DOMContentLoaded', recalc, false);}(document, window));

24 net start mysql 发生系统错误2 系统找不到指定的文件

转自:https://www.jianshu.com/p/6d8ed7c36e6f
以管理员身份运行,在命令行输入cd+mySQL的bin目录的安装路径
C:\Windows\system32>cd C:\Program Files\MySQL\MySQL Server5.6\bin
C:\Program Files\MySQL\MySQL Server5.6\bin>mysqld --remove
Service successfully removed.
C:\Program Files\MySQL\MySQL Server5.6\bin>mysqld --install
Service successfully installed.
C:\Program Files\MySQL\MySQL Server5.6\bin>net start mysql
MySQL 服务正在启动 .
MySQL 服务已经启动成功。

ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘newpassword’;

25 Navicat ,SQLyog连接MySQL8 异常2059-Authentication plugin ‘caching_sha2_password’ cannot be loaded解决方案

https://blog.csdn.net/weixin_40845165/article/details/84076691
1,登录MySQL,使用命令
mysql -u root -p或mysql -u root -ppassword【ps:-ppassword后面的密码是你的root密码】
2,修改加密规则
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘password’ PASSWORD EXPIRE NEVER;

3,更新用户密码
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘password’;

4,刷新权限
FLUSH PRIVILEGES;

5,重置密码
alter user ‘root’@‘localhost’ identified by ‘你的密码’;

26 如何判断是否在app内部嵌套页面

var Westeros = {versions: (function () {var u = navigator.userAgent;return {trident: u.indexOf('Trident') > -1, //IE内核presto: u.indexOf('Presto') > -1, //opera内核webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //iOS终端ios_uiwebview: u.indexOf('UIWebView') > -1, //iOS终端,使用UIWebView(app2.0.0以下或iOS 8以下版本)ios_wkwebview: u.indexOf('WKWebView') > -1, //iOS终端,使用WKWebView(app2.0.0以上且iOS 8以上版本)android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器iPhone: u.indexOf('iPhone') > -1, //是否为iPhone或者QQHD浏览器iPad: u.indexOf('iPad') > -1, //是否iPadwebApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部};})(),language: (navigator.browserLanguage || navigator.language).toLowerCase(),inApp: navigator.userAgent.indexOf('HengDaJinFu') > -1
};
var Snow = function () { };
if (Westeros.versions.android) {Snow.prototype.invokeNative = function (args) {// hybrid交互传参prompt('snow://' + JSON.stringify(args), '');console.log(args);};
} else if (Westeros.versions.ios) {if (Westeros.versions.ios_wkwebview) {Snow.prototype.invokeNative = function (args) {window.webkit.messageHandlers.snow.postMessage(args);console.log(args);};} else {// uiwebviewSnow.prototype.invokeNative = function (args) {var iFrame = document.createElement('iframe');iFrame.setAttribute('src', 'snow://' + encodeURIComponent(JSON.stringify(args)).replace(/\*/g, '%2A').replace(/!/, '%21'));document.documentElement.appendChild(iFrame);iFrame.parentNode.removeChild(iFrame);iFrame = null;console.log(args);};}
} else {Snow.prototype.invokeNative = function () {console.error('调用异常');};console.log("web");
}
Ygritte.prototype.closeWebView = function (callbackName) {var args = ['knowNothing', 'closeWebView', callbackName || '', {}];//this.log(JSON.stringify(args), 1);snow.invokeNative(args);
};import VConsole from 'vconsole';
var vConsole = new VConsole();
Vue.use(vConsole)Vue.use(Vant);

26 微信小程序真机调试echarts

设置echart的属性:force-use-old-canvas=“true”

注意事项:
这个错误针对真机调试,上线后不会出现这个想象,因为添加 force-use-old-canvas="true"后,可能画面有点失真,上线的时候去掉该属性即可

最坑的几点

echarts 的所有父级元素都不能有定位 否则在测试时 就会出现echarts不随屏幕滚动的bug!!! overflow:auto 也不行!!!!!!!!!

echarts的层级最高 如果自定义的tabar 要使用 cover—view 不然echarts会显示在tabar的上面

echarts在开发者工具上不卡,但是真机调试会特别卡卡卡卡卡卡卡卡卡卡卡卡卡卡(这也是困扰了我好几天的原因!但是发布之后就不会卡挺流畅的,使用预览也不会卡)所以真机调试卡不用担心也不用去怀疑是请求方式的问题,使用预览或者发布体验版本就可以

嘻嘻

27 设计师给的svg文件 外层设置颜色值无效

设计师把颜色设置为#000 这时候使用阿里图库上传 去颜色 就可以直接复制svg代码使用了

28 模拟input框,实现换行输入内容

    <spanclass="mn-input"v-html="ipt16"@blur="ipt16 = $event.target.innerText":contenteditable="isEditStatus"></span>.mn-input {padding: 0 10px;outline: none;border-bottom: 1px solid #000;font-weight: 600;font-size: 18px;
}

29 复制链接的方法

 <input id="id_payment" type="text" :value="url" tabindex="-1" /> document.getElementById("id_payment").select(); // 选择对象
document.execCommand("Copy"); // 执行浏览器复制命令#id_payment {position: absolute;left: 120%;
}
按tab键时候,会聚焦到这个输入框     设置tabindex='-1'取消tab键聚焦功能  tabindex是设置按住tab键聚焦的输入框顺序

29 element-ui的el-table组件 使用fixed ,出现样式错乱问题

this.$nextTick(() => {this.$refs.table.doLayout()
})

29 下载文件 的vue包 可以兼用ie浏览器

做项目中遇到过得难点相关推荐

  1. 总结之前做项目中要注意的一些书写规范

    通过这次的<小巨蛋项目>网站的实战中,最主要的还是代码的书写规范吧,可能在这次的网站的实战中代码不是写的很好,没有好好的去规划规划再做,导致了给人的感觉就是有点乱的感觉,所以要求以后的项目 ...

  2. uniapp结合uView组件库做项目中遇到的系列问题(一)

    一.使用u-image组件显示图片时 H5正常显示 小程序显示不了 //小程序不能显示 H5可以显示 <u-image width="100%" mode="wid ...

  3. jsp怎么从后台读取远程共享文件夹下的图片在前端显示_Vue后台项目中遇到的技术难点以及解决方案

    作者:yeyan1996 转发链接:https://juejin.im/post/5c76843af265da2ddd4a6dd0 写在前面 金三银四招聘时间已经过去,很多公司开启了今年第二轮招聘的热 ...

  4. vue后台项目中遇到的技术难点以及解决方案

    写在前面 马上到了金三银四的时间,很多公司开启了今年第一轮招聘的热潮,虽说今年是互联网的寒冬,但是只要对技术始终抱有热情以及有过硬的实力,即使是寒冬也不会阻挠你前进的步伐.在面试的时候,往往在二面,三 ...

  5. 关于做项目中关于文件读取遇到的一个问题(0x80070299)

    目前维护的正在用的一个项目中,有xml记录和推送的部分,突然有一天,发现xml推送都失败了,查了原因发现是在某一时间点后程序在生成xml时都出现了错误,随后就觉得可能是文件夹读取权限的问题,遂去查存储 ...

  6. 【工具与解决方案】从做项目中积累学习

    [Java-Swing] 1.http://java-mans.iteye.com/blog/1650786     JAVA-SWT如何在Jtable单元格中加入复选框Jcheckbox,Jbutt ...

  7. 在做项目中遇到的JS问题

    name和value: 例如: <input type="text" name="txt"/> name用于定义这个input收到的值的变量名,在上 ...

  8. 算法练习day14——190402(贪心:切金条、做项目、会议室安排)

    1. 切金条 一块金条切成两半,是需要花费和长度数值一样的铜板的. 比如长度为20的金条, 不管切成长度多大的两半,都要花费20个铜板. 一群人想整分整块金条, 怎么分最省铜板? 例如,给定数组{10 ...

  9. 今天项目中遇到的一个问题:判断新闻Id是否存在

    今天做项目中,写了个类,中间用于判断新闻是否存在.其中我的记录只有8条,Id分别为7,8,9,10,11,12,13,14,当用sql语句: private const string SQL_SELE ...

  10. 做产品与做项目的区别

    1  背景概述 在软件行业飞速发展的今天,我们可以将软件公司分大体分为两类,一类是使用框架进行开发的软件公司,另一类是套装软件产品的提供商,前者公司多数定位是项目类公司,后者则可以称为产品类公司.但做 ...

最新文章

  1. FPGA-YC输出一个4边框
  2. CentOS下php安装mcrypt扩展
  3. ROS学习(七):ROS launch 文件
  4. php dingo和jwt,dingo配合laravel、JWT使用
  5. app启动页自动跳转源码_Jenkins集成appium自动化测试(Windows篇)
  6. 催收评分卡(一)催收评分卡介绍
  7. Nginx的accept_mutex配置分析
  8. 搜索引擎蜘蛛及网站robots.txt文件详解[转载]
  9. 得力人脸识别考勤机密码设置_得力人脸识别考勤机使用与上传数据方法哪位清楚?...
  10. 极飞亮相世界无人机大会,创始人彭斌讲述农业无人机的未来
  11. 泰拉瑞亚服务器config修改,泰拉瑞亚配置修改方法详解 泰拉瑞亚怎么修改游戏配置 Config文件-游侠网...
  12. 搭档之家:牛市来了!阿里云“临牛受命”,接到多家券商扩容需求
  13. R语言学习笔记三:两独立样本t检验
  14. 智能领域的竞争不在于干了啥,而是干成啥
  15. 一文读懂:股权激励的“三重境界”
  16. Android BroadcastReceiver详解
  17. 【格林深瞳22校招开发岗】笔试
  18. kafka的副本以及分区与副本的关系
  19. 从uart到serial-ringbuff(环形缓存)
  20. 基于centos部署的 漏洞扫描工具(afrog)

热门文章

  1. python flag=1_python中flag什么意思
  2. Win系统 - WIN10 版本号说明
  3. 2021年国内外离线下载服务全面评测与总结
  4. IDEA使用搜狗输入法变为繁体如何办???
  5. R语言绘制NMDS图
  6. 性能测试20--Analysis -- 内存与硬盘
  7. html爱心表白代码(最全)
  8. 汽车零部件智能工厂MES生产进度管理系统
  9. VASP笔记之:计算德拜温度,杨氏模量,弹性矩阵
  10. 解决VBox中CentOS的增强功能安装问题 及 vbox centos安装增强功能总结