自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

mossbaoo的博客

不积跬步无以至千里,不积小流无以成江海。

  • 博客(83)
  • 资源 (2)
  • 收藏
  • 关注

原创 vue/uniapp 如何让页面的 onLoad 在 onLaunch 之后执行

app.vue里的 onLaunch 中如果有异步方法(比如:登录),返回结果可能会在页面的 onLoad 之后,但 onLoad 中的方法需要登录回调的结果。为了让页面的 onLoad 在 onLaunch 之后执行,解决方案:1. main.js 添加代码Vue.prototype.$onLaunched = new Promise(resolve => { Vue.prototype.$isResolve = resolve;})2. 在 App.vue 的 onLau

2021-07-03 11:34:38 147

原创 Vue使用echarts,解决“TypeError: Cannot read property ‘init‘ of undefined”报错

按照官方的步骤:(如果你只为解决方法,请跳过前面步骤)安装echarts依赖npm install echarts --save在 main.js 引入import echarts from 'echarts'Vue.prototype.$echarts = echartsECharts.vue绘制图表<div id="myChart" style="width: 400px;height:400px;"></div><script>ex

2021-05-14 15:12:51 50

原创 JS/JQ 给对象动态添加属性,把表单的所有input值添加进对象

JSvar obj = {};button.onclick = function(){ var name = document.getElementById('name').value; var phone = document.getElementById('phone').value; obj[name] = phone; }JQvar obj = {};$("#button").click(function(){ var name = .

2021-04-29 16:40:53 141

原创 JQuery 判断所有input的值是否为空

$("#submit").click(function(){ $("input[type='text']").each(function () { if ($(this).val() == "") { console.log('请填写' + $(this).data('text')); return false; } })});

2021-04-29 16:30:15 137

原创 uni-app 如何重启app

plus.runtime.restart();结束!

2021-04-28 18:43:45 164

原创 uniapp - APP判断是否开启位置信息服务&&判断是否授权位置信息权限

当我们在使用uni.getLocation的API时,会发现用户并没有开启微信信息服务或者没有授权位置信息权限,而导致回调fail,那么就需要去判断并引导用户前往开启。判断是否开启位置信息服务(安卓Android)checkOpenGPSService() { let systemType = uni.getSystemInfoSync().platform; // 安卓 if (systemType === 'android') { var context = plus.android.

2021-04-28 18:41:06 1093

原创 uniapp - 返回上一页并onLoad刷新数据

在uni中,返回页面是不会触发onLoad方法的;如果我们只想在特定情况下返回上一页才需要刷新数据,那么用onShow的话,那刷新就太频繁了;这时候,可以用$emit和$on去解决。比如说,从详情页(detail.vue) 回到 列表页(list.vue):详情页(detail.vue):methods:{ back() { uni.$emit('refreshData'); uni.navigateBack({ delta: 1 }) }}列表页(list.vu

2021-04-21 16:56:43 1254 1

原创 JQ 通过选择器查询指定元素的标签名

/** * @param {*} selector 选择器 * @param {*} targetEle 查询目标标签名 * @returns 如果匹配返回true,如果不匹配返回该标签名 */function checkEle(selector, targetEle) { let html = $(selector).html(); let thisEle = html.substring(html.indexOf('<')+1, html.indexOf(' '));

2021-04-12 10:49:23 23

原创 css 如何让一个div垂直水平居中(非弹性盒子)

该文章方法是在非弹性flex盒子的情况下使用。使用场景多为页面弹窗,需要垂直水平居中。·在未知div的宽度情况下,建议使用方法一和方法二方法一div{position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%);}方法二div{position: absolute; left: 0; top: 0; bottom: 0; right: 0; margin: auto;}·在已知div的宽度情况下

2021-02-25 13:46:44 56

原创 Js 修改对象数组里的对象属性名

假设,我们从后端取回来的Json对象数据中,有某些属性名不是我们想要的,就需要给它们重新命名。方法:// array为数组,old_name为修改前属性名,new_name为修改后属性名JSON.parse(JSON.stringify(array).replace(/old_name/g, 'new_name')) 解释:JSON.stringify() 把json对象 转成 json字符串使用正则的 replace() 方法替换属性名JSON.parse() 再把json字符串 转成

2021-02-04 15:48:49 484

原创 Js 判断数组对象中是否有某个值

方法/** * 判断数组对象中是否有某个值 * @author mossbaoo * @param {*} array 要查询的数组 * @param {*} attr 要查询的字段 * @param {*} val 要查询的字段值 */function findElem(array, attr, val) { for (var i = 0; i < array.length; i++) { if (array[i][attr] == val) { .

2021-01-27 10:06:44 1025

原创 bootstrapTable开启fixcolumn冻结列后无法点击checkbox的问题

在bootstrapTable中,当开启fixcolumn冻结列之后,其实就是把冻结的那几列复制出来,生成到.fixed-columns的div里面。所以原本table里面的事件已经失效了,需要重新绑定一下。关键代码:define(['jquery', 'bootstrap', 'backend', 'table', 'form',], function ($, undefined, Backend, Table, Form,) { Table.api.bindevent_orignal = Ta

2021-01-18 18:26:06 87

原创 Js 查找数组对象中的值

在示例数组中,如果需要通过某对象的名称来或者对应对象的id。简单来说,就是获取小明的id值。var array = [ { name: "小明", id: 1}, { name: "小吉", id: 2}];方法:let obj = array.find(o => o.name === '小明');console.log(obj.id);...

2021-01-13 10:08:15 1395 1

原创 css-去除input框里面的默认背景颜色

input输入框在浏览器里面会有输入历史记录的功能,当你选择输入记录的时候,输入框会出现蓝色的背景颜色这时候需要用css处理一下input{ -webkit-box-shadow: 0 0 0 1000px white inset;}

2021-01-09 10:27:40 1637

原创 debugx5.qq.com清除微信浏览器缓存

debugx5.qq.com清除微信浏览器缓存。您使用的内核非x5内核,说明你使用的不是x5内核,解决办法:打开网页`debugmm.qq.com/?forcex5=true`

2021-01-07 00:22:29 1215

原创 UnhandledPromiseRejectionWarning: TypeError: loaderContext.getResolve is not a function

安装并使用`less-loader`之后npm run dev 运行报错 "UnhandledPromiseRejectionWarning: TypeError: loaderContext.getResolve is not a function"原因:`less-loader` 版本过高,安装低版本即可解决npm install less-loader@5.0.0 -D...

2021-01-06 16:00:44 37

原创 Mac前端基础开发环境

Mac前端基础开发环境Node下载地址:https://nodejs.org/en/download/选择 macOS Installer 下载即可HomebrewHomebrew是MacOS平台下的软件包管理工具。官网地址:https://brew.sh/在终端下安装homebrew:/usr/bin/ruby -e "$(curl -fsS...

2019-08-08 15:35:32 151

原创 git 将代码提交到另一个新仓库

换一种说法就是,从一个git仓库拷贝到另一个git仓库。做法:以镜像推送的方式上传代码到新的仓库地址git push --mirror http://...(目标仓库地址)

2019-07-12 09:54:07 6065

原创 js 冒泡排序和快速排序

冒泡排序通过相邻两个元素之间的比较和交换,使较大的元素逐渐从前面移向后面(即升序),就像水底下的气泡一样逐渐向上冒泡,所以被称为“冒泡”排序。var arr = [3, 4, 5, 1, 7, 2, 8, 9, 6, 0];function arrayRank(arr) { var num = null; for (var i = 0; i < arr.length...

2019-07-10 16:51:18 524

原创 vue 数据双向绑定的原理

首先简述一下什么是数据双向绑定:数据双向绑定,即当数据发生变化的时候,视图也就发生变化,当视图发生变化的时候,数据也会跟着同步变化。vue实现双向数据绑定的原理,其实就是利用了 Object.defineProperty() 这个方法重新定义了对象获取属性值get和设置属性值set的操作来实现的。代码演示defineProperty的用法:// 第一个参数:定义属性的对象var obj =...

2019-07-10 15:55:49 236

原创 es6 字符串模板拼接

字符串拼接是在日常开发中必不可少的一个环节。注意:字符串可以用单引号'',或者""双引号,出于方便大家理解,文章以下内容统一使用单引号''!如果只是一个字符串和一个变量拼接,使用传统的字符串拼接就没什么问题,只需要一个+号和一个''号就好了;但是有时候会有多个字符串与变量拼接,那么就会有一大堆的+号和''号,造成代码不美观。传统的字符串拼接var name = 'moss';var ...

2019-07-01 15:03:58 2323

原创 js 实现颜色值格式转换 rgb和十六进制的转换

本文章是以prototype原型的方式,给string字符串类型添加方法,用于实现颜色值格式的转换。如果你不用原型方法,那么你只要借鉴实现方法就好了。RGB转换为16进制String.prototype.colorHex = function () { // RGB颜色值的正则 var reg = /^(rgb|RGB)/; var color = this;...

2019-06-24 14:22:42 16243 2

原创 在vue项目中使用ECharts

这个示例使用vue-cli 脚手架搭建安装echarts依赖npm install echarts --save创建图表可选择全局引入 或者 按需引入全局引入会将所有的echarts图表打包进去,会导致体积过大,个人建议使用按需引入。全局引入main.js// 引入echartsimport echarts from 'echarts'...

2019-06-12 11:43:35 192

原创 js 判断手机操作系统(ios或Android)

使用javascript判断手机操作系统(ios或Android),介绍小米的miui浏览器如何切换浏览器标识,并解决“在小米浏览器中判断手机操作系统的结果是ios/iPhone”的问题。

2019-05-27 15:16:45 6231

原创 jQuery 判断鼠标从哪个方向进入元素

$(".item").bind("mouseenter mouseleave", function(e) { var w = $(this).width(); var h = $(this).height(); var x = (e.pageX - this.offsetLeft - (w / 2)) * (w > h ? (h / w) : 1); var y = (e.page...

2019-05-20 11:11:02 338

原创 vue子组件与父组件之间的传值

【vue子组件与父组件之间的传值】在子组件与父组件之间的通信中,无论是子组件向父组件传值还是父组件向子组件传值,他们都有一个共同点就是有中间介质,子向父的介质是自定义事件,父向子的介质是props中的属性。抓准这两点对于父子通信就好理解了。

2019-04-28 11:55:05 1150

原创 vue加scoped后就无法修改vant的UI组件的样式

有时候UI组件提供的默认的样式不能满足项目的需要,就需要我们对它的样式进行修改,但是发现加了scoped后修改的样式不起作用。解决方法:使用深度选择器,将scoped样式中的选择器“深入”,即影响子组件<style scoped> .a >>> .b { /* ... */ }</style>以上的代码会编译成:.a[data-v-f3f...

2019-04-25 16:59:18 6820 7

原创 vue移动端项目如何真机测试

在做vue移动端项目的时候,我们都会想着在手机上真机测试一下自己做出来的效果,那么如何实现呢?1. 查看IP地址: WIN+R,输入cmd回车,打开命令提示符,输入ipconfig, 查看IP地址2. 在项目中找到 '/config/index.js' 文件中的host 字段,默认值是'localhost',修改成自己的IP地址'192.168.x.x'3. 运行项...

2019-04-25 10:03:11 1617 1

原创 微信公众号开发 - 引导用户关注、一键关注

微信公众号开发如何引导用户关注?如何一键关注?5个步骤:1. 打开公众号,点击右上角人像图标;2. 点击查看“全部消息”;3. 点击右上角三个点的图标,然后“复制链接”;4. 获得链接;5. 将该链接放进你想要做跳转的地方即可。

2019-04-19 10:29:23 2798

原创 vue图片懒加载插件vue-lazyload

前言:当页面的图片数量过多,或者用户当前网络不佳的情况下,我们需要将页面内未出现在可视区域内的图片先不做加载, 等到滚动到可视区域后再去加载。这样子对于页面加载性能上会有很大的提升,也提高了用户体验。实现方法:使用vue的图片懒加载插件vue-lazyload

2019-04-15 16:25:31 217

原创 微信小程序 使用特殊字体的两种方法

微信小程序中如何使用特殊字体?我有两种方法:1.转base64格式;2.【推荐使用】动态加载网络字体

2019-04-09 14:55:55 11877

原创 【今日一笑】实习程序员的逆袭

记得初入公司时,写的代码乱七八糟,错误百出,bug连连,不仅上级领导骂我,其他同事也对我怨声载道。后来听朋友介绍,就报了一个培训班。经过1个月的刻苦学习,终于功夫不负有心人啊...............

2019-03-29 17:49:58 184 1

原创 微信小程序 通过nodeJs操作MySQL进行数据交互

下面的操作,我是通过phpStudy和Navicat for MySQL搭建起来的开发环境我提供一个Navicat for MySQL的安装和破解方法:https://blog.csdn.net/mossbaoo/article/details/88661851先来看看目前MySQL的数据:node连接MySQL,需要安装express和mysql包var express = requi...

2019-03-19 16:01:00 7686 8

原创 vue 用纯js监听滚动条到底部 实现上拉加载

在移动端网页项目中,基本都会有列表页的上拉加载功能。在这篇文章中,我结合vue的生命周期用纯js写了一个监听滚动条的函数。怎样用纯js判断滚动条是否到底部先了解几个重点要素:获取滚动条到顶部的位置:document.documentElement.scrollTop、document.body.scrollTop获取当前窗口内容可视区:document.documentElement.c...

2019-03-14 16:34:28 4849 2

原创 微信小程序-虚拟支付的解决方案!原来还可以这么玩!

什么是虚拟支付?比如购买非实物(VIP会员、充值、课程、虚拟物品等)这次虚拟支付的整改,最受影响的应该就是那些知识付费、购买课程、在线教育之类的小程序而这次整改,只针对于ios系统的小程序,安卓系统是不受影响的,开发者可以选择其中一种方案:1. ios和安卓都使用解决方法:1. 把 芝麻小客服 接入到小程序中2.在 芝麻小客服后台 设置关键词回复3...

2019-03-11 17:13:15 19740 3

原创 js 获取当前页面url链接的参数

方法:function getUrlParam(name) { var reg = new RegExp("(^|&amp;)" + name + "=([^&amp;]*)(&amp;|$)"); var r = window.location.search.slice(1).match(reg); if (r != null) return unescape(r[2]); ...

2019-03-11 17:10:12 1544

原创 vue中报错 [Vue warn]: Error in render: "TypeError: Cannot read property 'avatar' of undefined"

vue中报错 [Vue warn]: Error in render: "TypeError: Cannot read property 'avatar' of undefined",如下图:这时候你就要检查下你的项目中template模板中是否有用到了没有定义的数据。举个例子:在我的template模板中有这么一段dom&lt;img :src="dataDetail...

2019-03-04 11:49:35 13672

原创 vue 路由传参 params与query的区别

假设是从列表页带着参数id进入详情页,有两种传参方式:params 与 query1.params列表页 list.vue:toDetail(id) { this.$router.push({ name: 'detail', params: { id: id } })},详情页 detail.vue:created() ...

2019-03-01 10:11:35 514

原创 vue 中使用 less

首先,vue开发环境已经安装成功第一步:安装less依赖npm install less less-loader --save 第二步:修改webpack.config.js文件,配置loader加载依赖,让其支持外部的less,在原来的代码上添加{ test: /\.less$/, loader: "style-loader!css-loader!less-...

2019-02-27 17:13:13 85

原创 使用vue-router设置每个页面的title

import Vue from 'vue'import Router from 'vue-router'import Home from '@/components/Home'import user from '@/pages/user/user'Vue.use(Router)const router = new Router({ routes: [ { p...

2019-02-27 16:48:33 127

微信小程序购物车功能 含样式

原生框架的微信小程序购物车功能 含样式。 对应博客文章:https://blog.csdn.net/mossbaoo/article/details/83031438

2021-06-29

移动端自适应布局-rem.js

使用rem单位实现自适应布局,轻松掌握移动端开发。用法简单,比如普遍的设计图宽度为750px,那么在css中设置为7.5rem即可实现宽度100%

2018-09-19

空空如也

空空如也

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

TA关注的人 TA的粉丝

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