前端
文章平均质量分 70
这些记录的问题都是我在实际开发中遇到的,这个专栏记录的是在解决这个问题之后,经过语言提炼和精心排版整理而成。不仅仅只是自己的沉淀,更希望能对诸位看官起到抛砖引玉之用。
竹石七
这个作者很懒,什么都没留下…
展开
-
前端JS在循环语句中调用API并保证循环语句外同函数作用域的代码同步执行
在开发中,可能难免会遇到需要将某个数组遍历获取指定字段的值,然后用此值作为参数来调用API的场景。那么,JS如何在循环语句中调用API并且保证同函数作用域中的其他代码同步执行,并且能使用循环语句中多次调用API请求到的全部数据?原创 2023-06-02 13:57:45 · 1623 阅读 · 0 评论 -
白话Cookie和Session
一、前言今天有个做开发的朋友和我聊了一下Cookie和Session,又勾起了我的分享和写作欲…今儿就来白话一下Cookie和Session。二、Cookie和Session的对比因为HTTP协议是一种无状态协议,即客户端和服务端谁也不认识谁。所以,有必要让两者之间有一定的“媒介”,为其二者的联系“搭桥”。2.1、Cookie原理:客户端访问服务器的时候,服务器生成一份cookie给客户端,客户端会把cookie保存起来,以后每次客户端访问服务器,都会自带这这份cookie(比如,cookie中存原创 2022-04-19 15:05:01 · 218 阅读 · 0 评论 -
Vue生命周期详解
一、前言在使用Vue进行实际开发中,经常在created,mounted等生命周期钩子函数内进行数据,逻辑的处理,但基本都是看别人在哪个生命周期内请求数据,在哪个生命周期内操作DOM,自己也照搬如此使用,是“知其然而不知其所以然的”状态。今儿趁着手头工作忙完这段时间,特别研究了一下生命周期,记录一下自己的学习笔记。二、生命周期2.1、生命周期的四个阶段和8个生命周期钩子函数详解2.1.1、阶段一包含的生命周期钩子函数:beforeCreate、created;beforeCreate、crea原创 2022-04-15 18:01:49 · 1176 阅读 · 0 评论 -
package.json中的dependencies(生产依赖)和devDependencies(开发依赖)
一、前言项目开发过程中,难免会遇到需要npm install XXX的时候,这就又涉及安装的这个依赖模块是放到package.json中的dependencies或者是devDependencies中的问题,来区别一下吧。二、安装依赖1、npm install和npm uninstall下面以安装axios为例:在你才开始接触开发的时候,或许你也为npm install axios/npm uninstall axios、npm install axios -save/npm uninstall原创 2020-10-30 09:28:51 · 9793 阅读 · 0 评论 -
页面内锚点定位及其跳转
一、前言二、各种类锚点定位及其跳转方法优劣势分析三、说明参考链接:页面内锚点定位及跳转方法总结MDN Web Docs欢迎大家一起讨论、学习原创 2022-04-12 16:06:59 · 5742 阅读 · 2 评论 -
Element UI的组件el-input添加回车键监听事件
纵观Element UIde input输入框组件(el-input组件),都没有发现可以给输入框添加的回车键监听事件,因为Element UI对其做了进一步封装,对比原生HTML的input标签的监听键盘(回车键)事件: // 回车提交表单document.onkeydown = function (e) { // 兼容FF和IE和Opera var theEvent = window.event || e; var code = theEvent.keyCode || theEve原创 2021-12-13 16:08:56 · 14613 阅读 · 0 评论 -
剖析单页面应用和多页面应用
一、前言我们在开发的时候,越来越注重用户体验。对于用户,页面的切换加载快,是一个很好的体验。对于这点,单页面应用模式SPA的优势就很明显。但是有些时候我们需要运用多页面应用模式MPA,这篇文章就来聊聊SPA和MPA。二、单页面应用和多页面应用2.1单页面应用(Sing Page Application——SPA)由一个外壳web页面和多个页面片段组成,页面跳转刷新部分资源,一些公共资源(js、css)仅需要加载一次。页面片段之间的跳转是把一个页面片段删除或隐藏,加载另一个页面片段并显示出来。这是片段原创 2021-03-17 17:38:09 · 446 阅读 · 2 评论 -
Electron-Vue程序启动控制台报错:Uncaught ReferenceError: require is not defined at (index):1
一、前言我在使用electron制作exe安装包的项目中用到了nodejs的一个usb模块,遇到了一些问题。二、问题描述npm install安装(我的这个版本是:“usb”: “^1.6.3”,)之后,启动项目之后发现页面空白,我打开控制台发现了这样的报错:三、问题分析和解决1、分析这里需要知道electron本质是什么,来看一张图片:Chromium : 为Electron提供了强大的UI能力,可以不考虑兼容性的情况下,利用强大的Web生态来开发界面。Node.js :让Electr原创 2020-12-23 17:40:39 · 6611 阅读 · 7 评论 -
Electron-Vue项目使用Element的el-table组件不显示
一、前言最近我把项目进行了整体重构,将原先的vue和electron分为两个工程文件夹的形式融合为了一个electron-vue工程文件,因为有很大的改动,特别是环境和相关配置方面与原先的工程有很大的不同,随之而来就有很多坑,这篇文章要将的就是今天碰到的element-UI一个组件重构前显示OK但重构之后显示不OK的问题,详情请继续阅读。二、问题描述在vue组件中,使用了Element的el-table组件,当重构了之后发现这个组件在相应页面不显示(高度为零),数据什么正常,语法OK,各种路径也OK,原创 2020-07-06 18:08:54 · 1140 阅读 · 0 评论 -
切换页面保持element ui的select选择器组件的下拉框选中的数据项高亮
一、前言实际项目(vue+element)场景是这样的:国际化的功能切换语言选用了element的select选择器组件,下拉框中是多语种的语言标志词。我想要在页面来回跳转后,打开下拉框,当前的语种标志词仍是高亮显示的,这样,在语种多的情况选择时有一个提示,会提升用户体验。二、问题描述假定你当前选择器默认选中“双皮奶”选项(代码见2、select组件源码),然后你通过点选,改变了选项为“黄金糕”后跳转页面,如果不改变这个value的话,再回到这个select组件页面,打开下拉框,你会发现高亮值又回到了原创 2020-06-29 17:00:29 · 2472 阅读 · 0 评论 -
v-for循环生成的元素有识别的精准控制
一、前言在实际的项目中,常常会使用for…in循环动态生成一堆样式和功能相同的元素。现在有这么一个场景:页面内v-for循环生成了“好几行”有相似内容的box,每行的box都有一个下拉按钮,操作的时候需要区分操作的是哪个盒子,即点击哪个盒子,这个盒子便会展示更多内容(变化高度)。一起来实现以下吧:二、demo展示1、未点击展开的状态2、点击展开按钮展开下面的蓝框三、代码实现1、html代码部分注意!我是通过操作改变el-container容器的高度,所以要在这个标签的内部加上 :styl原创 2020-05-27 15:17:47 · 558 阅读 · 0 评论 -
解决(html标签)span、div标签模拟按钮点击时标签内部文本会被选中(类似于鼠标长按选择的情况)
一、前言出于需要,我没有直接用button标签和element的el-button标签,我用span模拟了一个标签,并且给与了一个点击事件,但是较快的点击这个模拟按钮,会出现自动选中其中的文本的现象,类似于鼠标长按选择文本的那种情况。造成了不好的体验,我提供一种解决方案。二、demo展示(直接上图)未处理之前(点击速度稍微较快就会选中)处理之后(正常了)哈哈,其实这里应该使用Gif的,但是,领会精神就好,嘻嘻。三、解决方案出现选中情况时候的代码(未解决之前)<span class=原创 2020-05-18 18:12:15 · 2598 阅读 · 0 评论 -
vue(+Element)项目用vue-i18n实现国际化
一、前言vue+element开发的项目实现国际化还是比较简单的,特别是对于前后端完全分离的项目。基于Node构建的Vue项目是有成熟的方案:vue + vue-i18n。但是其中还是有只得留意的点,特别是对于第一次实现国际化的童鞋。二、demo效果展示1、在首页选择语种实现语种切换2、内容页的中文效果3、内容页的英文效果三、前端实现国际化1、安装vue-i18n我的项目是基于vue开发的,首先需要安装vue-i18n,推荐使用cnpm(npm也可以,不过可能会比较慢)安装。输入命令:原创 2020-05-15 11:26:38 · 615 阅读 · 2 评论 -
移动端(H5)的点击事件、滑动事件和长按事件
问题描述接上篇文章的项目。项目中有一部分是单选题答题环节,每道题的选项有文字、图片或者图文结合的形式呈现,所以导致每道题的长度不一样,需要做触屏的点击、滑动和长按判断。没做判断之前滑动和点击事件是不能区分开的,每次想滑动时都会触发点击,从而引发非意愿选择。问题分析我们熟知的点击事件click会有300毫秒的延迟(有相关插件可以解决这个问题,有兴趣的小伙伴可以自己上网康康)。还有一种就是touch事件,touch事件包含了touchstart(手指触摸到屏幕时触发)、touchmove(手指在屏幕上移动原创 2020-05-11 17:28:57 · 10553 阅读 · 0 评论 -
vue的H5项目实现微信分享给好友和朋友圈自定义缩略图显示内容和图标
遇到的问题(三)接上篇文章的项目。在做完所有的页面后,后端小伙伴初步实现了微信分享,但是分享后缩略图是酱紫的:最初的效果缩略图图标是一个回形针,内容是页面的title,我不想要这种效果,想实现下面那种图标和内容都可以自定义的效果,还有一点,我还想自定义每个页面(因为本项目有多个页面)分享后的URL(即点击分享缩略打开指定页面)。调用微信的接口时,遇到了这么几个问题:1、微信的签名问题:“e...原创 2020-05-09 17:40:34 · 3442 阅读 · 0 评论 -
Vant组件库使用过程中的小记(组件调用Dialog的show-cancel-button置为false)
遇到的问题(二)接上篇文章的项目。因为我需要在Vant的Dialog弹框里边加一个Form表单,所以我选择通过组件调用的形式来引用。产品那边要求这个弹框点击遮罩关闭,不需要确定按钮。vant提供了这样一个props属性(show-cancel-button,这个属性值默认为true),来控制弹框确定按钮的现实与隐藏。可是我在Dialog标签中设置show-cancel-button = fals...原创 2020-04-29 17:13:26 · 5457 阅读 · 3 评论 -
单页面开发PC端(Vue+Element)和移动端(Vue+Vant的H5)项目踩坑记录
我遇到的问题我写了一个获取一个div的高度的函数(this.$refs.funBoxs.offsetHeight)并且在尝试mounted生命钩子中调用这个函数并打印高度值,控制台报错(之前用这个是可以获取到高度值的)问题分析控制台报...原创 2020-04-28 18:27:10 · 3052 阅读 · 2 评论 -
vue中v-for循环一个import...from...另一个JS文件中的数组数据动态加载图片(:src)失败的解决方法
1、问题描述我在A组件中使用vue中的v-for循环渲染一个使用import…from…引入的一个名为B的.js文件中的数组(元素是对象格式),对象中的属性中含有图片的URL地址,但是在img标签中(:src=“item.picture”)最后页面中图片并没有被加载出来,并且在控制台中看到只是一个空的标签,其中并没有src属性以及相应的url.到最后发现是页面上是没有相关图片的,我已经确...原创 2020-03-18 10:55:40 · 1130 阅读 · 0 评论