
当进行多人开发的时候每次push的时候代码都要打包因为你选择某一方的打包文件都是不完整的代码只要合并代码打包新的才行。iview中小红点和Form-item propid有关id和校验rule对应上了就会有小红点。加上requiretrue,只有小红点实际不验证测试的时候先确定是不是代理成功了清浏览器缓存一定要先git pull再git merge如果你先git merge的话再git pull就是以你自己的版本为基准合并远程的代码如果功能冲突的话代码就会乱掉。PC端设计稿规范如果做全屏页面设计图尺寸是1920*970px970是chrome浏览器可视区域的尺寸如果竖着排版的内容那么高度无所谓。设计稿下来之后先测量看是否标准在下这里贴上大佬的一个总结。iview中时间选择器用:value绑定不要用v-modeljq写弹窗组件关闭要用remove()否则每次都会append一个弹窗会被覆盖掉如果在vue中引入了js文件但是在这个js文件中又想使用vue的东西那么可以这样importVuefromvuevarvm1newVue()vm1.$alert(网络出错请刷新重试,提示,{confirmButtonText:确定})手机上调试alert一个对象JSON.stringify(obj)修改master分支权限项目仓库 - settings - repository - protected branchesjquery 插件报 jQuery is not defined定义一下const jQuery require(jquery)charles 抓不到前端文件重启一下微信试试源生的 Request Payload 可以传数组打开访达cmd k连接服务器让gitlab的代码用前端发布系统可检测到要打开 设置 - repository - Deploy Keys - Privately accessible - enable(new-assets-publish)子元素的margin-top会作用在父元素上原因css外边距合并解决1、父元素设置padding2、父元素设置border3、父元素设置overflow:hidden有一些在ios上无法正常展示应该是项目里的引用路径用了http改成https就好了丁医院组件中的data值必须和url里的js里的变量名一致用了promise导致最后一页的二维码不能长按保存npm下载的时候进度条不动清除下npm的缓存就好了npm cache clean -f微信二维码的api测试的时候不要在成功的回调函数里面alert没有用的不会弹出用vconsole可以看出其实已经成功了ios点击出现半透明遮罩element{ -webkit-tap-highlight-color: rgba(255,255,255,0); }父元素高度塌陷问题当父元素没有设置高度子元素有高度并浮动浮动会脱离文档流即父元素高度撑不开父元素相当于没有内容解决1、在最后一个设置浮动的元素后加空div并清除浮动2、父元素设置overflow: hidden3、使用after伪元素清除浮动刚创建的仓库git init是不能新建分支的必须commit一次之后才可以新建分支git的文件前的字母A你本地新增的文件服务器上没有C文件的一个新拷贝D你本地删除的文件服务器上还在M文件的内容或mode被修改了R文件名被修改了T文件的类型被修改了U文件没有被合并你需要合并才能提交X未知正向代理隐藏用户如一些上网软件用户 - 代理服务器 - g搜索反向代理隐藏服务器如nginx用户发起请求请求通过nginx转发给某个服务器jq的点击事件html中存在的dom$(ele).on(click,function(){})js加的dom$(document).on(click,ele,function(){})所有图片变黑白img{-webkit-filter:grayscale(100%);filter:grayscale(100%);}双感叹号强制转化为布尔类型js中输出空格用\xa0FastClick移动端浏览器默认点击延时300ms为了检测双击要用fastclick滑动时背景不动body.controlBodyHeight{height:100%;overflow:hidden;}$(body).eq(0).addClass(controlBodyHeight)$(body).eq(0).removeClass(controlBodyHeight)当你采用了无分号的代码风格的时候只需要注意以下情况就不会有上面的问题了:当一行代码是以 ( [ 开头的时候则在前面补上一个分号用以避免一些语法解析错误。 例如 ;(function () { console.log(hello) })() 有些人也喜欢玩儿一些花哨的东西例如可以使用 ! ~ 等。当你想要放大缩小图片的时候可以设置meta标签$(meta[nameviewport]).attr(content,widthdevice-width);$(meta[nameviewport]).attr(content,widthdevice-width, user-scalableno, initial-scale1.0, maximum-scale1.0, minimum-scale1.0);document.getElementsByTagName(meta)[viewport].contentwidthdevice-width;如何让 mac 的程序坞去另一个显示器上只需要鼠标滑到显示器的下面再单指向下划就行两端对齐text-align: justify;纯字母数字不换行用cssword-wrap:break-word;版本回退gitreset--hard版本号gitpush origin master-f远程覆盖本地# git强制覆盖gitfetch--allgitreset--hardorigin/mastergitpull# git强制覆盖本地命令单条执行gitfetch--allgitreset--hardorigin/mastergitpull一个分支完全覆盖另外一个分支# 当前分支是maser分支我想将mytest分支上的代码完全覆盖master分支首先切换到master分支。gitreset--hardorigin/mytest# master分支上的代码就完全被mytest分支上的代码覆盖了本地分支然后将本地分支强行推到远程分支。gitpush-f滚动平滑动画-webkit-overflow-scrolling: touch;背景图高度自适应原理是通过padding-top或者padding-bottom实现值是背景图片的宽高比。高度设置为0..bg-auto{width:100%;background:url(../../assets/img/**.png)no-repeat;background-size:100% auto;padding-top:13%;height:0px;}图片加载防抖divclasswrapperimgclassswiper-imgsrchttp://img1.qunarzz.com/piao/fusion/1806/fc/e47aa3e1c67bbc02.jpg_750x200_0f3eecf8.jpg//divoverflow:hiddenwidth:100%height:0padding-bottom:27.0%background:#eee超出部分显示省略号overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;回车变brstr.replace(/\n/g,br /浏览器和服务器之间只能传递字符串那么为什么我们用 ajax 返回来的数据是对象呢因为 ajax 中的dataType: json就是帮我们把字符串转为对象了。未来元素的 dom 无法获取可以在未来元素渲染结束后获取或者开启一个延时器。获取图片原始尺寸varimgUrlhttps://www.tupian.com;varimgnewImage();img.srcimgUrl;img.onloadfunction(){console.log(img.width,img.height);};eslint 临时关闭// eslint-disable-next-linesome code some code// eslint-disable-line/* eslint-disable */some code/* eslint-enable */webpack 4x以上webpack将命令相关的内容都放到了webpack-cli所以还需要安装webpack-cli左右布局用position: absolute;right: 0按钮定位底部其余页面滑动的布局在最大的 div 上加上padding-bottom: 按钮高度文字前面加图标用为元素before没有效果是需要加display: inline-block;iphone上给 input 设置 line-height 就会光标特别的长去掉就好了之前做过的根据不同ppt格式控制其大小异步加载的问题最后解决办法是开个延时器看那个未定义的参数什么时候出来出来之后再去重新初始化那个ppt的大小网页禁止了审查元素先打开一个空网页开启审查元素再输入网址chrome浏览器调试临时禁用js审查元素 - 右上角设置 - Settings - disable javascript0 false为 true因为都是转化为数字在做比较以前的系统扩展名只支持三位所以现在出现 jpeg - jpghtml - htm 这种写法软件与软件的连接都是端口与端口之间的连接如web中客户端与服务器服务器与数据库。button 去掉默认样式button{border:none;outline:none;background:none;}表格左边是表头trth表头1/thtd内容1/td/trtrth表头2/thtd内容2/td/tr表格新属性theadtbodytfootvue 不触发数据变动但是键值需要是动态的created(){for(constobjofquestion){this.answerAllObject.assign({},this.answerAll,{[ques[obj.id]]:1})}},img 的 src 如果用 v-bind 的话需要 require 一下才能正常的找到路径。img:srcrequire(../assets/ hanshu() .png)althanshu(){returnbg-ques}ie11的label标签包图片点击无效form input typecheckbox idtest some text label fortest img src /label /form 无论是checkbox还是radio在IE11中点击img标签均无法选中input。 解决 label { display: inline-block; } label img { display: block; /* fix */ pointer-events: none; postion: relative; /* fix */ }注意在微信浏览器中应用了pointer-events: none的img标签如果src属性的值是一个包含二维码的图片长按识别二维码功能会失效。当你的网站没有配置域名的时候你可以加一个host指向你的服务器地址这样就可以使用域名访问啦例如192.168.88.33 a.xxx.net b.xxx.net这个意思是当你访问a.xxx.netb.xxx.net的时候访问192.168.88.33写前端和写后端的区别前端代码是跑在每个用户的机器上的所以不会存在高并发之类的问题。而后端是写服务服务于前端也就是说所有前端机器上的代码都是请求一个后端服务那么就要考虑高并发等问题。vscode代码行数正则^b*[^:b#/].*$一个很好的设计方法比如在执行一段逻辑之前要先检测登录certificate.validLogin(()navigation.navigate(contentCollection));// 登录验证asyncvalidLogin(callback:()void(){},cancelAction:()void(){}){try{consttokenObjawaitgetToken();if(tokenObjtokenObj.token){callback();returntrue;}else{this.showLoginDialog(cancelAction);}returnfalse;}catch(e){console.log(error: ,e);returnfalse;}}如何实现 6px 字体.font{font-size:12px;transform:scale(.5);}如何动态设置 key 值用中括号letobj{[key]:张三}编辑网页document.body.contentEditabletrue;document.designModeon小程序调试 webview 页面点击小程序组件库打包后报错找不到文件common.wxss在 src 中的这个文件中不能为空必须要有个占位的 css后台重置数据resetFiltrateForm(){Object.assign(this.$data.filtrateForm,this.$options.data().filtrateForm);this.searchForm();}el-popover 的使用el-popover v-modelscope.row.visibleplacementtop// 手动触发triggermanualwidth160p确定禁用吗/pdiv styletext-align: right; margin: 0;el-button sizeminitypetextclickcloseDisableRow(scope.$index)取消/el-buttonel-button typeprimarysizeminiclickhandleClick(scope.row, disable)确定/el-button/divel-button slotreferencetypetextstylecolor: #f00;margin-right: 10px;clickdisableRow(scope.$index)禁用/el-button/el-popoverdisableRow(index){this.tableList.forEach((element){// eslint-disable-next-line no-param-reassignelement.visiblefalse;});this.tableList[index].visibletrue;},closeDisableRow(){this.tableList.forEach((element){// eslint-disable-next-line no-param-reassignelement.visiblefalse;});},handleClick(detailObj,type){this.closeDisableRow();// 业务},mac电脑时钟有问题sudo sntp -sS time.apple.comhttps://discussions.apple.com/thread/253973068?sortBybestcss出现奇怪的样式高度问题是因为引入了amfe-flexible导致body上有一个font-size: 36px;只需要在有问题的dom上加上font-size: 12px;覆盖掉body上的继承样式就好了如果想实现比如一道多选题选项ABCD先选AB这时数组为[a,b]这时再把A去掉再选A则变为了[b, a]这是利用了数组的删除和push但是我如果想要顺序展示呢。比如上面的情况最终的数组还是[a,b]要怎么做这种顺序的就需要提前自己把顺序定义出来比如[{label:多选1,value:1,isCheck:true},{label:多选2,value:2,isCheck:true},{label:多选3,value:3,isCheck:true},{label:多选4,value:4,isCheck:true}]这样就可以按顺序的拿到 isCheck 的值结果自然也是按顺序的强行英文换行word-break: break-all;两端对齐text-align: justify;一个列表页面上面盖着一个组件组件里面也是可以滑动的但是这样组件滑动的时候会滑动到列表的滑动上只需要在组件打开的时候把列表隐藏掉就好了在一个白色块里面放一个红色块正常是可以的但是我只要给红色块加上position: absolute;红色块的宽度就会超出这是怎么回事div classindex-header div classblock-container /div /div .index-header{width:100%;height:400rpx;box-sizing:border-box;background:fff;position:relative;padding:0 32rpx;.block-container{width:100%;height:200rpx;//position:absolute;background:#f00;}}在 position: static默认 的情况下.block-container 的 width: 100% 指的是 其包含块.index-header内容区的宽度即 100% 是 不包括 padding 的部分。但当你 加上 position: absolute;绝对定位的元素的 width: 100% 是 相对于最近的定位祖先这里是 .index-header的完整宽度但 不会自动减去 padding。这意味着 .block-container 的宽度变成了 .index-header 的全部宽度而不是 padding 之后的宽度所以它超出了。解决方案方法 1显式减少 padding 的影响.block-container{width:calc(100% - 64rpx);position:absolute;left:32rpx;// 确保它对齐 padding}方法 2用 inset 来代替 width记得不要加width.block-container{position:absolute;left:32rpx;right:32rpx;}方法 3用 left: 0; 再包一层在 block-container 里面写具体内容.block-container{position:absolute;left:0;padding:0 32rpx;}报错 ERR! Unexpected token (20:51)因为组件使用了 wxsyl打包器的问题需要给 wxs 最外层包裹一个 view使用 nrm ls发现前面没有星号那是因为你的项目里有 .npmrc 配置比如registryhttps://registry.npmmirror.com/ engine-strict true这样的话你默认使用的是 https://registry.npmmirror.com/使用 nrm 切换不会有效而且这时候你使用npm adduser去登录也是对应的仓库npm ERR! nested aliases not supported 报错原因复制老的package-lock.json过来核心是因为npm版本不支持嵌套别名的写法了dependencies: { my-lib: npm:some-other-lib^1.0.0 }cursor样式错乱看看报错是谁报错的我的是因为在vue2中使用了Volar在插件里禁用使用 Volar 插件Vue 3 推荐或 VeturVue 2 推荐二选一不要同时安装。或者禁用在遍历选择器select的时候可能会出现以下问题问题一选中了数据改变了但是页面上并没有选中值。原因核心是key的问题因为你新增的时候push了一个新的select而select上的value绑定的是选中的项的id但是你遍历select的:key如果也是绑定的这个id那么选中后id变了你的key检测到id变了就会重新渲染select组件所以会这样解决key绑定index问题二如果问题一种有删除操作的话那么绑定index就会出现问题比如删除中间一项最后一项却删除了原因绑定index删除中间一项本来index是2的项删除了但是只是数据删除了组件层面因为key绑定的index总数从3变为2了但是2还是存在的所以组件不会重新渲染解决import{nanoid}fromnanoid// 原始数据加上一项key然后绑定这个这样就和select所绑定的value分离了这个_key是不会变化的_key:nanoid()还有一种可能的情况是给数组或对象增加了不存在的字段这时要用 this.$setthis.$set(arr,index,item)this.$set(obj,key,value)我们写小程序的时候可能代码包会超过2M这时如果想对某些页面进行分包就需要改文件路径很麻烦其实可以这样做{ root: pages/case-detail, pages: [ index ] }我们直接在 root 上写了带 / 的分包名称这样就不用改路径啦el-popconfirm v-modelscope.row.visibleplacementtoptriggerclicktitle确认禁用width160confirmonClickOperation(disable, scope.row)el-button v-ifscope.row.enabled trueslotreferencetypetextstylecolor: #f00;margin-left: 10px;禁用/el-button/el-popconfirmel-popover v-modelscope.row.visibleplacementtoptriggermanualwidth160p确定禁用吗/pdiv styletext-align: right; margin: 0;el-button sizeminitypetextclickcloseDisableRow(scope.$index)取消/el-buttonel-button typeprimarysizeminiclickhandleClick(scope.row, disable)确定/el-button/divel-button v-ifscope.row.enableStatus 1slotreferencetypetextclassbtn-detailstylecolor: #f00;margin-right: 10px;clickdisableRow(scope.$index)禁用/el-button/el-popoverhandleClick(detailObj,type){this.closeDisableRow();this.$emit(toDetail,detailObj,type);},disableRow(index){this.tableList.forEach((element){// eslint-disable-next-line no-param-reassignelement.visiblefalse;});this.tableList[index].visibletrue;},closeDisableRow(){this.tableList.forEach((element){// eslint-disable-next-line no-param-reassignelement.visiblefalse;});},chrome下载扩展报错: 无法将扩展程序目录移动到个人资料中cdLibrary/Application\Support/Google/Chrome/Default/删除 Extensions 文件夹刷新页面重新下载就好了模板消息跳转小程序插件出现白页模版消息给的页面地址是plugin-private://wx64316ae3ba0677xx/pages/common-transfer/index1.这时候如果小程序内有个同名的页面/pages/common-transfer/index系统会忽略前面的plugin-private://wx64316ae3ba0677xx直接跳到/pages/common-transfer/index页面。2.如果小程序没有同名页面/pages/common-transfer/index则正常跳到插件页面。现在把小程序本身的页面删除就好了但是可能会延时生效也就是刚删完还不行等一段时间才可以forEach遍历接口只调用成功第一个其他接口被cancel使用 for of可以并行执行// eslint-disable-next-line no-restricted-syntaxfor(constchecklistItemofchartConfigList){// eslint-disable-next-line max-len, no-await-in-loopawaitthis.handleIndicatorChange(checklistItem.checklistType,checklistItem.indicators[0].code);}elementUI的表格组件的选择功能当你回显的时候会触发选择功能回调这样回显的时候就会有问题需要加个标志位写npm包如果依赖vue和elementUI最后留给业务端不要集成在组件里ddd项目里面不要写wxs写的话要写在view里面否则迁移到wepy会报错[14:14:31] ERR! Unexpected token (3:25) [14:14:31] ERR! compile Compile failed. Add --log trace to see more details