自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ts+protobuf+ReconnectingWebSocket

第三步:生成对应的js以及ts文件。第二步:创建proto后缀文件。

2024-01-17 16:55:12 382

原创 vue插件开发之保姆级教程

创建项目vue init webpack-simple projectName下载依赖执行 npm install新增插件文件在src目录下新增lib文件夹,然后新增以下2个文件:index.vue,index.js如果打包时需要独立的css文件,那么还需要新增 index.scss文件(注意类名的冲突)添加完成之后目录结构如下:插件内容index.vue内容如下:<template> <div class="text" v-click="myclick"&g

2022-04-19 17:31:14 2178

原创 elementui兼容问题

1.在IE浏览器中会出现默认滚动条,页面渲染完成后才消失解决方案:.el-scrollbar__wrap { overflow-x: hidden; -ms-overflow-style: none; }2.在iphone中,需要点击2次内容才能触发事件解决方案:.el-scrollbar { > .el-scrollbar__bar { opacity: 1 !important; }}3.光标与输入框等高(lineheight 与 height 一致

2021-11-12 17:29:39 1629 1

原创 多行文字的渐变背景色

先看效果图:代码:<div class="test"> <span class="text">我是一段文字我是一段文字我是一段文字我是一段文字我是一段文字我是一段文字我是一段文字我是一段文字我是一段文字我是一段文字我是一段文字</span></div>.test{ width: 200px; color: #000000; .text{ line-height: 24px; background: linear

2021-10-15 16:00:53 315

原创 vue满足后订阅也能监听发布的模式

1. Event.jsvar Event = (function() { var clientList = {}; var triList = {}; var listen; var trigger; var remove; listen = function(key, fn) { if (!clientList[key]) { clientList[key] = []; } clie

2021-07-30 17:20:55 160

原创 vue中将链接转二维码图片,2张图合成为1张图

1.将链接转为二维码图片首先,下载插件:npm install qrcodejs2 --savehtml代码如下: <div ref="qrcode" style="display: none;" />js代码如下:new QRCode(this.$refs.qrcode, { width: 100, // 设置宽度,单位像素 height: 100, // 设置高度,单位像素 text: link // 需要转换为二维码图片的链接});2.2张图合成为1张图htm

2021-07-30 17:03:57 682

原创 js中的解构

所谓解构,就是按照一定模式,从数组和对象中提取值,对变量进行赋值。1.数组中的解构以前的赋值let a = 1;let b = 2;let c = 3;使用解构就可以这样赋值let [a, b, c] = [1,2,3] [1,2,3] 数组中的值会依次的赋值给a,b,c。如果变量的个数小于数组的元素的个数,无影响。let [a, b] = [1,2,3]//a 1 //b 2 如果变量的个数大于数组的元素的个数let [a, b, c, d] = [1,2,3]//a

2021-05-18 10:55:38 13440 1

原创 linux服务器找不到静态文件问题

原因:linux一般不支持双斜杠的//的路径处理方法:1.如果域名是静态的,写死就行。2.如果域名是可配置的,规定前端拼接时不加‘/’,再对拿到的域名进行处理,有’/'则不处理,没有则加上。...

2021-01-15 16:55:15 560 3

原创 项目优化小记(angular)

记录一下优化的内容。对图片加载的优化1.ng-if的子元素中img标签的src改为ng-src,减少图片请求;2.子元素class有背景图相关则改为ng-class,减少图片请求;3.如果是一次性判断是否显示图片的使用ng-if,如果是可交互开关的则使用ng-show,减少图片请求;4.所有图片上cdn服务器,降低请求耗时。5.小于一定大小的图片存本地并转换为base64格式,减少从服务器请求资源的次数。对js的处理1,在路由中使用resolve做懒加载处理,降低首屏需要加载的文件数量。2

2021-01-15 16:31:48 156

原创 ie11中的兼容问题

用此篇来记录遇到的ie11中的兼容问题:1:时间格式ie11无法识别 “2020-11-20”这种时间格式,需转换为“2020/11/20”2:链接问题ie11的请求链接中带有汉字时,会直接将汉字提交至后台,导致接口出错或者数据不准确,需要使用encodeURl手动转码。...

2020-11-20 12:10:36 312

原创 js中如何判断数据类型

第一种:typeoftypeof(function(){}) //"function"typeof({}) //"object"typeof(new Date()) //"object"typeof(Date()) //"string"typeof(RegExp('123')) //"object"typeof([]) //"object"typeof("123") //"string"typeof(123) //"number"typeof(null) //"object"type

2020-09-15 17:23:27 406

原创 angular中的无缝向上滚动效果

html代码如下:<div class="slide"> <ul class="slide-ul"> <demo-slide-follow id="slide1" dataset-data = "data"></demo-slide-follow> </ul></div>css代码如下:.slide{ height:60px; overflow:hidden;}js代码如下:$scope.data= [{

2020-06-30 14:26:25 1140

原创 时间格式的兼容问题

首先看一段代码在谷歌中的效果,+new Date()//1592557292219+new Date('2020-6-19')//1592496000000很简单的获取时间戳的方法。再看看在360兼容模式下的效果+new Date()//1592557416340+new Date('2020-6-19')//NaN+new Date('2020/6/19')//1592496000000哦豁~~~,NaN。发现问题,然后解决它,最后记下它。...

2020-06-19 17:08:00 339

原创 css实现只在pc端使用hover

@media (min-width:769px){ .my-class:hover{ /*hover之后的效果代码*/ }}

2020-06-19 12:23:53 619

原创 数组的打乱以及求对象数组中某个元素的最大最小值

**1、数组的打乱**1)使用foreach遍历,随机数取下标,然后位置互换。let a = [1,3,5,6,7,2,4,9,8,6];a.forEach(function(item,index){ let r = parseInt(Math.random()*a.length); [a[index],a[r]] = [a[t],a[index]]})//[5, 7, 1, 6, 8, 6, 9, 2, 3, 4]//[6, 8, 2, 4, 9, 7, 5, 3, 6,

2020-06-11 11:31:02 198

原创 整理js数组方法以及高阶函数

1.fill(),数组填充 2.concat(),数组合并3.from(),符合条件的对象转为数组4.entries(),key(),values() 转为迭代对象5.join() 转为字符串6.数组操作:pop(),push(),shift(),unshift(),slice(),splice()7.查询8.高阶函数:map(),reduce(),reduceRight(),filter(),sort(),forEach(),find(),findIndex(),every(),some()

2020-05-20 10:39:44 417

原创 angular使用ui-select小结

初识:首先看看ui-select的结构:<ui-select ng-model="demoChoose" theme="bootstrap" ng-change="changeDemoChooseList()"> <ui-select-match> <span>{{$item}}</span> </ui-select-match> <u

2020-05-09 11:35:13 2699 12

原创 angular中ng-model或者ng-click失效

在input中时使用ng-model失效。原因:使用了ng-if导致ng-model失效。(ng-if有自己的子作用域)解决办法:使用ng-show或者ng-model绑定$parent.value (value为需要绑定的父作用域中实际的值)。...

2019-10-29 09:08:09 1297

原创 兼容的复制文本功能

function copyText(str) { let ios = !!navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); let Url2 = str || ''; let oInput = document.createElement('input'); oI...

2019-10-25 15:17:10 206

原创 angular--filter的使用

angular中的filter在不同地方的不同的使用方法

2019-09-29 09:36:11 1522

原创 angular判断用户设备为移动设备还是PC

$window[‘navigator’][‘userAgent’]: 获取当前浏览器的用户代理(user agent)字符串,userAgent 属性是一个只读的字符串,声明了浏览器用于 HTTP 请求的用户代理头的值。$window[‘navigator’][‘vendor’]:返回当前所使用浏览器的浏览器供应商的名称.$window[‘opera’]:用来检察浏览器是否是opera//返...

2019-07-11 09:43:21 2667

原创 angular--controller与service

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...

2019-07-10 15:23:16 1155

原创 微信小程序发送请求从后台返回的数据不是json格式的问题

emmmmm,这里有一个前提。数据已经在后台进行了json.encode处理。不得不说这是一个很奇怪的现象。我遇到的情况是这样的。在模拟器中数据是json格式无误,但是在手机数据却是字符串格式。然后我单纯的以为是数据格式问题,在前台我处理了一遍 var ph = new postHelper(wx, 'login.php'); ph._post({ user...

2019-04-01 17:16:18 10162 2

原创 微信小程序之内容的动画展开与收回

先上效果图:1.展开状态2.显示状态3.收回状态先说一下实现原理:1.给列表一个动画效果。2.使用animotion来创建动画。3.使列表的高度从0到n开始变化,使用setTimeout做延时处理。4.收回则与上面相反。5.animotion的用法请查看官方文档传送门:https://developers.weixin.qq.com/miniprogram/dev/api...

2018-11-05 15:55:11 9123 1

原创 微信小程序API——获取定位

在微信小程序中,我们可以很方便的通过API接口来获取我们当前的位置,接下来我讲告诉大家微信获取定位的API—wx.getLocation的用法,以及我们通过获取定位,得到当地的位置,天气等信息。在微信小程序中,我们可以很方便的通过API接口来获取我们当前的位置,接下来我讲告诉大家微信获取定位的API—wx.getLocation的用法,以及我们通过获取定位,得到当地的位置,天气等信息。&amp;lt;v...

2018-10-28 22:58:34 7521 2

原创 微信小程序之图片的上传与下载

大家都知道,小程序有着大量的api,文件(图片)的上传也是其中之一.给大家分享一下个人的用法.我所做的是一个类似空间日志的图文发布以及混排.首先是图片的选择,使用wx.chooseImage,将选中的图片存放在一个数组里面,便于上传.chooseImage: function () { var that = this; wx.chooseImage({ ...

2018-10-06 19:53:17 2145

原创 关于mui.ajax请求,服务端得不到数据的问题。

今天使用mui.ajax给服务器发送post请求,结果后端用的php始终得不到前台传上来的数据(使用$_post[]获取值),百度看了不知道多少种解决方案,这里记录一下我的解决方法。首先看一下官方给的ajax: mui.ajax(‘http://server-name/login.php‘,{ data:{ username:’username’, ...

2018-07-10 10:29:32 3945

原创 算法之递归与回溯

递归 递归是指函数/过程/子程序在运行过程中直接或间接调用自身而产生的重入现象。运用递归的条件: 1. 子问题须与原始问题为同样的事,且更为简单; 2. 不能无限制地调用本身,须有个出口,化简为非递归状况处理。就比如经典的汉诺塔问题: 共有3根柱子ABC,A柱上有若干个圆盘(从大到小依次摆放,最小的在最上方),大盘子不能放在小盘子的上面,只能依次移动盘子,问如何将A柱上的圆盘移动到...

2018-03-27 19:57:14 7324 1

原创 java中的大整数计算

给2个整数,求和。很简单。 那么给出a=1234567898765432123456789, b=123456789987654321123456789,求和,也不难。 将a逆序然后转化为一个数组,将b做同样的操作。 对同下标的数进行相加,如果结果小于10,则将数放到较长的数组的改下标处,若果结果大于等于10,则进位(在下一个下标处加1),然后可能得到一个新的数组,将数组逆序输出则可以得到...

2018-03-15 21:16:57 4293

原创 算法之分治算法

所谓分治算法,就是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。求出子问题的解,就可得到原问题的解。概念: 求解某些问题时,由于问题要处理的数据相当多,或求解过程相当复杂,使得直接求解法在时间上相当长,或者根本无法直接求出。对于这类问题,我们往往先把它分解成几个子问题,找到求出这几个子问题的解法后,再找到合适的方法,把它们组合成求整个问题的解法。如果这...

2018-03-15 19:44:19 241

原创 vue.js---父子组件之间简单的数据传递

入口文件不给了,直接上简单的代码:parent.vue&lt;template&gt; &lt;div class="parent"&gt; &lt;input v-model="num" type="text"/&gt; &lt;!--给子组件发送数据 --&gt; &lt;Son @sendMsg="

2018-03-09 21:07:30 431

原创 算法之动态规划

动态规划是什么: 每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划。动态规划的思想与策略: 将待求解的问题分解为若干个子问题(阶段),按顺序求解子阶段,前一子问题的解,为后一子问题的求解提供了有用的信息。在求解任一子问题时,列出各种可能的局部解,通过决策保留那些有可能达到最优的局部解,丢弃

2018-01-05 00:23:36 163

原创 Activity与Fragment之间简单的数据传递

先说Activity传递数据给Fragment 1.使用setArguments1)在Activity中实例化Fragment对象2)创建bundle对象3)通过setArguments进行数据的传递//Activity中的代码MyFragment myFragment = new MyFragment(); Bundle bundle = new Bundle();

2017-11-09 14:22:59 411

原创 Activity与Activity之间简单的数据传递

简单的整理出5种办法: 1:使用intent直接进行传值传递: //创建Intent对象 Intent intent = new Intent(MainActivity.this,SecondActivity.class); //程序自动创建Bundle,然后将对Intent添加的数据装载在Bundle中 intent.putExtra("name","第二个

2017-10-27 19:51:47 1250

原创 android布局之RelativeLayout

RelativeLayout被称作相对布局,也是一种常见的布局。相比排列规律的线性布局,相对布局就显得自由一点首先介绍一下一些常用的属性: 第一类:相对于父布局进行定位 android:layout_alignParentBottom=”true”下对齐 android:layout_alignParentTop=”true” 上对齐 android:l

2017-10-09 17:42:43 364

原创 android布局之LinearLayout

LinearLayout被称为线性布局,是一种非常常用的布局。这个布局会将它所包含的控件在线性方向上依次排列。这里我们通过android:orientation属性指定,vertical表示垂直方向上排列,horizontal表示水平方向上排列。这里值得注意的是,如果排列方向是前者,那么android:layout_height属性不能被指定为match_parent,否则后面的控件就没有可放置

2017-10-09 16:38:08 302

原创 android顶部悬停效果(仅用ListView实现)

先看一下效果图。。。主要说的是原理。所以界面丑就丑点,大家凑合着看吧。1.布局文件 activity_main.xml<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="m

2017-08-13 00:08:24 2027

原创 android控件13--BottomNavigationView

BottomNavigationView作为AS自带的底部菜单布局也算是比较良心的。今天我就在原来的基础上使用Fragment来实现页面的切换,而不是原本一个文本的改变而已。首先看看main.xml:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/re

2017-07-15 22:54:44 442

原创 android控件12--ScrollView

ScrollView就是一个可以滚动的View,这个滚动的方向是垂直方向的,而HorizontalScrollView则是一个水平方向的可以滚动的View。二者用法一样,这里就以ScrollView为例写一个小小的例子。首先看一下main.xml代码:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://

2017-07-15 22:18:22 208

原创 android控件11---DrawerLayout

DrawerLayout是一个布局,在布局中允许放入2个子控件,第一个控件是主屏幕中显示的内容,第二个控件是滑动菜单中显示的内容。首先来看一看activity_main.xml中的代码:<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns

2017-07-02 09:29:50 287

空空如也

空空如也

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

TA关注的人

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