自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 Blob文件流下载

blob文件下载

2023-11-22 15:15:04 1400

原创 高德地图简单点位+轨迹+描述

基于vue3 setup模式,简单的高德地图开发(标记点、轨迹、描述)。

2023-03-23 10:10:15 590

原创 echart图表点击事件

echart图表点击事件。

2023-02-17 10:32:00 2258 1

原创 浏览器关闭监听

浏览器关闭判断

2022-11-21 11:35:19 1845

原创 vue3+vite简单打包配置

vue+vite3打包配置

2022-11-21 09:33:50 2177

原创 vue3报警提示框(vue2.x的extend替代)

vue3 提示框

2022-11-15 16:56:33 1503

原创 vue-移动端适配-rem设置

vue移动端rem适配

2022-11-01 11:37:24 680

原创 vite开发vue3小结

vite+vue3+vuex+vue-router基础项目搭建-自用

2022-11-01 11:26:38 409

原创 iframe嵌入微信公众号页面(有图片)

iframe展示微信公众号文章,有图片,包括背景图片

2022-10-18 11:22:12 7074 20

原创 iframe高度动态适配

iframe动态高度配置

2022-10-17 14:49:56 2731

原创 Apache代理配置

Apache代理服务器配置

2022-09-30 14:52:29 3140

原创 随笔-jq实现列表轮播

列表轮播先对tbody设置属性#testTbody tr{ position: relative;}然后使用jq操作动画效果var willAdd = getTr(item); //item是即将添加的数据集合,通过getTr获取完成的tr内容 // <tr>测试内容</tr> var circleHeight = '40px'; //平移高度 // 赋予动画效果 $('#testTbody tr').last().animate( {

2021-08-17 15:53:52 404

原创 随笔-git版本管理学习

git官网-https://git-scm.com1、安装RHEL 、 CentOS:$ sudo dnf install git-allDebian、Ubuntu Linux: $ sudo apt install git-allwindows: https://git-scm.comgit官网安装包下载安装mac: https://git-scm.com/download/mac安装包下载安装除此之外,现在很多的开发软件已经集成了git插件,自己安装也可以,使用可能更加的方便2、使用

2021-06-17 09:53:09 116

原创 随笔-js时间格式化

作为现在经常使用的时间new Date(),有着许多的处理方法对它进行格式转换1、不想自己处理时间格式的,推荐使用Moment.js2、使用原生的new date()操作格式化时间:let dataTime = new Date()dataTime.Format("yyyy-MM-dd hh:mm:ss") // 2021-05-13 09:37:00data方法年dataTime.getYear()月dataTime.getMonth() + 1日data

2021-05-13 09:54:15 129

原创 微信小程序学习笔记-文字轮播

平时开发小程序,都有动画的需求,比如最简单的文字轮播:首先:调用wx.createAnimation(Object object)声明一个对象赋值动画的初始属性var animation = wx.createAnimation({ transformOrigin: "50% 50%", // 对象旋转的基点 duration: 0, // 动画持续时间ms timingFunction: "linear", // 动画的效果 linear-动画从头到尾的速度是相同的 delay: 0

2021-04-23 10:37:59 1598 1

原创 Vue学习笔记-插槽

Vue过去对于插槽的使用基本依赖于slot以及slot-scope(默认插槽|具名插槽|作用域插槽),但是现在这个两个attribute已经被v-slot指令所取代(Vue2.6.0);这两个attribute虽然已经被官方废弃且不会出现在 Vue 3 中,但在接下来所有的 2.x 版本中slot和slot-scopeattribute 仍会被支持;1、默认插槽(未改变)不需要声明name或者作用域,直接进行使用,一个组件中只能有一个该类插槽:// 父组件<templat...

2021-04-15 14:45:38 281

原创 随笔-微信小程序-获取用户信息

2021.04.06最近在开发小程序,今天突然发现不能登录了,排查了一会发现: wx.getSetting的返回值中并没有返回"scope.userInfo": true这样就拿不到用户返回的信息了并且也没看到用户授权弹窗;正常是使用getSetting弹出用户信息授权,然后就可以通过getUserInfo的接口获取加密的用户信息然后去查了文档:发现:因为现在getUserInfo可能是需要匿名,而getSetting的userInfo授权对应的又是getSetting所以就造成..

2021-04-07 09:25:28 304

原创 随笔-正则表达式

前端对于字符串的校验经常性的需要用到正则表达式这个工具,通过字符串自身调用的方法可以进行复杂的字符串匹配:replace():用于在字符串中用一些字符替换一个与正则表达式匹配的子串-string.replace(正则,替换的字符)search:检索与正则表达式相匹配的子字符串-string.search(正则)split:用于把一个字符串分割成字符串数组-string.split(正则,返回数组最大长度-可选)match:找到一个或多个正则表达式的匹配,返回的是值不是位置-string.ma

2021-03-22 11:54:03 129

原创 微信小程序学习笔记-右上角胶囊按钮适配

正常标题栏未设置自定义的时候,胶囊按钮(小程序顶部右边的两个)下面才是我们自己的页面部分:但是设置了标题栏自定义以后,整个页面都被我们的页面填充:这时候如果有在顶部配置图标或者标题,那么就要考虑一个问题:安卓跟ios不同机型下胶囊按钮的大小跟位置是不一样的,这时候就需要获取胶囊按钮的信息进行动态配置:onLoad(){ let 胶囊信息= wx.getMenuButtonBoundingClientRect() this.setData({ 胶囊信息声明: 胶囊信息}) }获取

2021-03-11 14:39:37 3432

原创 微信小程序学习笔记-标题栏自定义

展示页的目录下(test.wxml)新建test.json用于替换app.json中的全局配置添加以下属性(开启自定义标题功能):"navigationStyle": "custom"开启以后只保留微信的右上角的两个按钮,你在页面中的元素会填充到页面顶部...

2021-03-01 11:12:58 544

原创 面试-浏览器兼容问题

1、通用-不同浏览器之间的margin、padding有区别解决:使用通配符* { margin: 0; padding: 0;}2、图片间隔、表单元素行高不一致解决:设置float跟clear:both3、在设置float的前提下,如果元素设置margin在IE6显示margin比设置的大解决:设置float的元素再设置display:inline4、当标签的高度设置小于10px,在IE6、IE7中会超出自己设置的高度解决:使用overflow: hidden

2021-01-20 09:25:52 397

原创 Vue学习笔记-导航守卫

每个导航守卫都有三个参数: to: Route: 即将要进入的目标路由对象 from: Route: 当前导航正要离开的路由 next: Function: 必须调用该方法resolve这个钩子。执行效果依赖next方法的调用参数 next(): 进行管道中的下一个钩子。如果全部钩子执行完了,则导航的状态就是confirmed(确认的)。 next(false): 中断当前的导航。如果浏览器的 URL 改变了 (可能是用户手动或者浏览器后退按...

2021-01-06 10:19:49 914

原创 面试-AJAX的优缺点

作为现在开发经常用到的ajax请求,也是面试经常问到的,以下就是它的优缺点优点:1、局部刷新传统的页面刷新即是页面整体刷新,所有的数据都会随着页面刷新而刷新;而ajax是一种局部的刷新,根据需要刷新指定区域的数据,避免了刷新重复数据,提高了用户体验2、异步的请求ajax可以选择通过异步的请求获取数据,并不影响其他接口的请求,不需要影响用户操作3、减少了冗余请求以及服务器压力因为是按需请求的,所以不需要刷新的数据并不会请求,减少了请求次数缺点:1、破坏了浏览器的回退功能因为优点之一的局部

2021-01-04 11:34:02 174

原创 随笔-图片加载失败图片替换

相对于项目目录下的图片,经常会用到更多是后端传递的网络地址。那么这就可能会造成一种情况:图片的加载失败,这时候展示的图片就有点不美观,所以可以选择替换目标图片首先是一个显示加载中的图片:<img id="test":src="图片--加载中"/>然后在js中获取图片路径的时候进行判断能否加载完毕:/** * 检测图片是否存在 * @param url */let imageIsExist = function(url) { return new Promis.

2020-12-31 10:19:27 421

原创 随笔-内容垂直居中的方法

1、最常用的line-height对于平时使用的一行的文字或者按钮之类的进行居中设置的时候建议使用;通过设置height以及line-height将会自动让文字垂直居中:height: 20px;line-height: 20px; // 垂直居中text-align: center; // 水平居中2、align-items:center通过dislay:flex将布局设置为flex,通过align-items:center的属性配置内容垂直居中:display: flex;align

2020-12-28 11:22:10 257

原创 随笔-浅拷贝和深拷贝

引言在前端的代码日常中,对于数据的拷贝是一个避不过的问题。之前也有碰到过因为地址(指针)相同,导致数据联动出错的情况,所以记个笔记记录下:浅拷贝以及深拷贝其实针对的时引用型的变量(类似数组、对象)这些比较复杂结构的;对于基本数据类型(number、string、boolean、undefined、null)的复制,因为只是一个单纯的基本数据,所以复制的时候不受影响,可以独立被修改;1、浅拷贝:单纯的对引用型变量进行直接的赋值,导致的地址相同 var a = [1, 2, 3]; var b =

2020-12-22 09:41:31 112

原创 随笔-base64编码

1、 字符串Base64编码因为之前做了使用了富文本的编辑器,然后因为要存进数据库,但是因为编辑器的文本带了标签导致后端处理出错,所以需要进行转码,使用时再进行解析:首先: 进行转码-btoa(window.encodeURIComponent(字符串))(如果不是字符串可以通过JSON.stringify()先转成字符串)encodeURIComponent: 编码成ASCII字符序列btoa: 编码为base64然后: 进行解码-window.decodeURIComponent(atob(

2020-12-16 11:44:37 134

原创 随笔-vue使用小记(坑)

1、使用vue的过程中,尝试使用js数组之间传值,发现改变一个数组以后,原始的数组也发生了变化。原来:两个数组的地址因为完全赋值变成了同一个,所以一个产生变化会对另一个也造成影响解决:通过百度搜索发现可以通过JSON.parse(JSON.stringify(数组))来解决原理:使用了stringify转化成了string后原先的地址消失,然后使用parse重新格式化就成了一个新的数组了2、开发的项目中突然发现:项目中使用padding会对元素的宽高造成影响。因为希望能够不影响元素,所以去找了办法:

2020-12-11 11:47:12 211

原创 随笔-tinymce学习笔记--使用--基于Vue

前一篇随笔记录了tinymce的安装,这篇讲一下个人的封装:第一步:在components中对控件进行声明控件声明第二步:在main.js中进行vue-tinymce控件的赋值控件赋值很简单--就两个参数:双向绑定的富文本编辑器的内容,以及最重要的编辑器的配置setting第三步:配置编辑器这是我自己编辑器的配置具体请自行转tinymce中文文档看详细的配置,这部分文档还是很完善的(基本都是在说配置以及控件)第四步:写个方法获取绑定的富文本编辑器中的内容.

2020-12-11 11:46:19 517

原创 随笔-tinymce学习笔记--安装--基于Vue

这几天在学习使用tinymce的使用(因为UE富文本编辑器已经好久没更新了,找个新的用用)---基于Vue简单安装:引用:为vue开发者整合的tinymce富文本编辑器组件(提灯人帕奇式)tinymce是个外文的编辑器,而中文文档中使用是通过script直接引入js然后在页面初始化。而我的目标是在Vue中将其写成一个组件--所以有了这个引用第一步:安装引用中的组件yarn add @packy-tang/vue-tinymce / npm install @packy-tang/vue.

2020-12-11 11:45:27 531

原创 随笔-tinymce学习笔记--自定义插件--基于Vue

1、之前说过在根目录的的index.html中引入了static下的tinymce后,项目中的tinymce就指向了static,所以我们可以不用修改node_module中的代码,直接在static下的tinymce中的plugins中开发新的插件2、插件开发首先:根据中文文档:对你的新插件进行一个声明:tinymce.PluginManager.add('插件名',function(editor,url){});函数中传进来的editor就是页面上的编辑器,你可以通过调用它的方...

2020-12-11 11:44:17 2538

原创 面试-父子组件传值问题

Vue是个以组件化开发著称的框架:于是组件间传值就经常被用到:1、父传子:prop,slotprop只是一个传值,子组件在script的prop中声明后可以直接进行使用注意:prop传递值不能在子组件进行修改,不然浏览器会报错,需要通过赋值给子组件自身申明的元素才能进行修改slot(插槽):与prop不同,插槽支持html语句插入以及组件插入,只要在子组件同样写上slot就能成功展示注意: slot传值在父组件传值之后,在子组件进行使用需要用slot-scope属性进行声明2、子传父:emit

2020-12-11 11:40:48 846

原创 面试-前端的跨域问题

跨域:只要协议、域名、端口有任何一个不同,都被当作是不同的域;前端碰上跨域的问题应该算是十分常见,比如地址映射,访问外部网路接口等等,而且面试中常常会问到这个,所以做下总结:1、document.domain跨域浏览器有一个同源策略,其一是不能通过ajax的方法去请求不同源中的文档。其二是浏览器中不同域的框架之间是不能进行js的交互操作的。不同的框架之间是可以获取window对象的,但却无法获取相应的属性和方法;理解:不同域的文档以及js,你可以获取这个对象,但是你无法确定对象中的元素以及方法

2020-12-11 11:39:55 519

原创 面试-查找两个数组中的相同元素

1、最简单的办法进行遍历排序:两个for循环遍历,执行次数最多,效率较低let var1 = [ 1, 2, 3 ]let var2 = [ 2, 3, 4 ]let list = [ ]for ( let i = 1; i < var1.length; i++ ){for ( let j = 1; j < var2.length; j++ ){ if (var1[ i ] === var2 [ j ]) list.push( var1[ i ] )}}如果要求不

2020-12-11 11:37:18 1675

原创 面试-Vue钩子函数

1、beforeCreate官方描述:在实例初始化之后,数据观测(data observer) 和 event/watcher 事件配置之前被调用理解:页面还未创建,this、data、method、watch这些中的元素或则方法并未出现,不能进行调用2、created官方描述:在实例创建完成后被立即调用。在这一步,实例已完成以下的配置:数据观测 (data observer),property 和方法的运算,watch/event 事件回调。然而,挂载阶段还没开始,$el property 目前尚

2020-12-11 11:34:38 611

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除