
前端开发
前端开发
mossbaoo
不积跬步无以至千里,不积小流无以成江海。
展开
-
MySQL 数据库支持存储emoji表情
【MySQL 数据库支持存储emoji表情】修改MySQL配置文件;修改数据库字符集;修改表字符集;修改列字符集。。处理报错:code:'ER_TRUNCATED_WRONG_VALUE_FOR_FIELD',errno: 1366,sqlMessage: "Incorrect string value: '\\xF0\\x9F\\x8D\\x94' for column 'nick_name' at row 1",sqlState: 'HY000'的解决方案。原创 2024-07-10 23:55:16 · 856 阅读 · 0 评论 -
js 把数组中某个属性的相同值进行分类,累加数量,生成新的数组
中是否已存在具有相同分类的元素。如果存在,我们就增加该分类对应的数量;如果不存在,则将当前分类添加到。根据数组中某个字段的相同值进行分类,然后对该字段相同值的元素的数量进行累加,最后生成新的数组。中,并将数量初始化为 1。,其中包含了根据分类进行数量累加后的结果。中的值转换为数组,生成了新的数组。在这个示例中,我们遍历了原始数组。,对于每个元素,我们检查。原创 2024-04-16 18:24:44 · 557 阅读 · 0 评论 -
js 获取地址栏的某个参数值
要获取地址栏的某个参数值,你可以使用 JavaScript 中的 URLSearchParams 对象或正则表达式。函数通过正则表达式匹配地址栏中的查询字符串,并返回指定参数的值。无论使用哪种方法,记得替换。是地址栏中的查询字符串,是你要获取的参数名。方法二:使用正则表达式。为你要获取的参数名。原创 2024-02-02 11:48:53 · 1099 阅读 · 0 评论 -
js 把数组分成每4个一组,并且不足4个时补空
使用 JavaScript 中的 slice() 和 push() 方法来实现这个功能。使用 for 循环和 slice() 方法将原始数组切割成指定大小的多个子数组,并使用 while 循环将不足指定大小的子数组补充为空值(null)。最后,它将所有子数组存储在 result 数组中并返回。原创 2024-01-17 15:51:22 · 1254 阅读 · 0 评论 -
js 判断对象数组中是否有某个对象,有则替换,无则添加
【代码】js 判断对象数组中是否有某个对象,有则替换,无则添加。原创 2023-05-30 14:40:27 · 1588 阅读 · 0 评论 -
Vue 在methods中使用当前页面过滤器Filter
【代码】Vue 在methods中使用当前页面过滤器Filter。原创 2023-05-15 19:04:16 · 458 阅读 · 1 评论 -
vue+elementUI 使用腾讯地图
vue+elementUI 使用腾讯地图 qqmap。使用script标签加载API服务,v参数是引用的版本号,目前腾讯地图提供两个版本,分别是v=1,v=2.exp,推荐使用2.exp,可以获得最新最快的支持;key参数YOUR_KEY是Key鉴权中申请的key。·原创 2022-12-06 12:04:43 · 3082 阅读 · 1 评论 -
js 数组for循环请求接口,并把返回数据放进新数组
用一个数组中的每个值去循环请求接口,获取对应数据放进新数组。要在循环中使用async、await,可以使用for…of或者for 循环,while循环等,不能使用foreach,因为在forEarch里执行await会并行的。# 有了for循环 为什么还要forEach?## forEach的介绍 #原创 2022-11-18 12:01:33 · 4424 阅读 · 0 评论 -
uni-app 下载文件并保存到手机(带进度条)
uniapp下载文件并保存到手机(带进度条),结合uni.downloadFile,uni.saveFile,uni.openDocument,实现功能原创 2022-10-20 15:55:40 · 14094 阅读 · 4 评论 -
uni-app 第二次进入页面时子组件的mounted不执行
当页面A引入了子组件后,子组件需要运行一些方法,但是mounted只能在初次渲染时执行,第二次进入页面就不执行了。方法:通过父组件的onShow调用子组件里的方法,实现更新子组件的值代码(父组件):<drag-button :isDock="true" :customBar="true" ref="dragButton"></drag-button>onShow() { this.$refs.dragButton.init();},代码(子组件):data() {原创 2022-04-18 17:22:07 · 5085 阅读 · 1 评论 -
uni-app 子组件中onLoad、onShow里的方法不执行
原因:在uniapp中,只有应用生命周期和页面生命周期,子组件是没有应用周期的。所以onLoad、onShow都不存在。方法:如果想在渲染子组件时运行一些方法,可以用vue自身的生命周期mounted原创 2022-04-15 10:56:20 · 12070 阅读 · 0 评论 -
如何使用 Git Flow 创建多个修补程序分支hotfix
在使用git的hotfix时可能会报错:To work with multiple hotfixes at the same time, configure Git config option 'gitflow.multi-hotfix=true'.原因是已存在一个hotfix,那么如何创建第二个hotfix分支呢?方法一在终端运行命令git config --add gitflow.multi-hotfix true方法二手动编辑你的 git 配置:文件目录[ .git ->原创 2022-01-08 17:59:41 · 909 阅读 · 0 评论 -
ElementUI 自定义可全选或全不选的checkbox-group多选框组
在使用ElementUI的 “indeterminate 状态” 的checkbox时,感觉有所限制,所以觉得自定义一个可全选或全不选的checkbox-group多选框组。全部代码:<template> <div class="app-container"> <el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="allChange">全选<.原创 2021-11-20 15:29:05 · 2016 阅读 · 0 评论 -
vue 解决报错[Vue warn]: Computed property “checkAll“ was assigned to but it has no setter.
在vue项目中使用到计算属性computed 时报错:[Vue warn]: Computed property "checkAll" was assigned to but it has no setter.原因是:计算属性computed :checkAll 主动赋值了,但是它并没有定义 set 方法。解决办法:对该计算属性添加 get 和 set 方法data() { return { dataList: [], }},compu.原创 2021-11-20 14:59:19 · 4081 阅读 · 0 评论 -
vue2 简单说明 $emit $on $off 的使用,防止$on多次触发
介绍1.$emit:触发当前实例上的事件。附加参数都会传给监听器回调。2.$on:监听当前实例上的自定义事件。事件可以由vm.$emit触发。回调函数会接收所有传入事件触发函数的额外参数。3.$off:移除自定义事件监听器。场景从详情页回到列表页时,把详情页的参数带回到列表页。也可以说是在列表页监听并接收详情页在该事件的回调。方法1. 先在项目中新建一个js文件(eventbus.js),内容为:import Vue from 'vue'e...原创 2021-11-11 10:28:32 · 2359 阅读 · 0 评论 -
Element中table表格自定义表头添加有点击事件的按钮,并传输自定义参数
介绍最近用到 element 的表格的render-header 属性,官方似乎没具体说明怎么使用,然后自己找资料实现了满足需求的解决方案。需求1: 在表头放一个带点击事件的按钮需求2: 点击按钮时需要传输自定义参数(用来区分点击的是哪一列)本文章主要以render-header 进行扩展使用。主要代码html:<el-table-column label="城市" align="center" :render-header="(h, obj) =&g...原创 2021-11-09 17:34:47 · 7193 阅读 · 2 评论 -
CSS 调换两个元素的显示顺序
HTML:<div class="container"> <div class="No_1">????...</div> <div class="No_2">????...</div> <div class="No_3">????...</div></div>CSS:.container { display: flex;}.No_1 { order:原创 2021-10-29 10:42:25 · 2614 阅读 · 0 评论 -
Vue 自定义模态对话框弹窗
模态对话框弹窗效果:父组件(应用页面)主要代码:<template> <view class="app-container"> <modal-dialog showText="确定要取消收藏吗?" :isShowDialog="isDialog" @cancel="isDialog = false" @confirm="confirmDelete"></modal-dialog> </view>.原创 2021-09-10 11:10:16 · 2194 阅读 · 0 评论 -
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 · 4817 阅读 · 6 评论 -
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 · 466 阅读 · 0 评论 -
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 · 1399 阅读 · 0 评论 -
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 · 4391 阅读 · 0 评论 -
uni-app 如何重启app
plus.runtime.restart();结束!原创 2021-04-28 18:43:45 · 4722 阅读 · 2 评论 -
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 · 12044 阅读 · 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 · 347 阅读 · 0 评论 -
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 · 517 阅读 · 0 评论 -
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 · 3703 阅读 · 1 评论 -
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 · 8373 阅读 · 0 评论 -
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 · 853 阅读 · 0 评论 -
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 · 8533 阅读 · 2 评论 -
css-去除input框里面的默认背景颜色
input输入框在浏览器里面会有输入历史记录的功能,当你选择输入记录的时候,输入框会出现蓝色的背景颜色这时候需要用css处理一下input{ -webkit-box-shadow: 0 0 0 1000px white inset;}原创 2021-01-09 10:27:40 · 5697 阅读 · 1 评论 -
debugx5.qq.com清除微信浏览器缓存
debugx5.qq.com清除微信浏览器缓存。您使用的内核非x5内核,说明你使用的不是x5内核,解决办法:打开网页`debugmm.qq.com/?forcex5=true`原创 2021-01-07 00:22:29 · 4754 阅读 · 1 评论 -
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 · 328 阅读 · 0 评论 -
vue加scoped后就无法修改vant的UI组件的样式
有时候UI组件提供的默认的样式不能满足项目的需要,就需要我们对它的样式进行修改,但是发现加了scoped后修改的样式不起作用。解决方法:使用深度选择器,将scoped样式中的选择器“深入”,即影响子组件<style scoped> .a >>> .b { /* ... */ }</style>以上的代码会编译成:.a[data-v-f3f...原创 2019-04-25 16:59:18 · 7517 阅读 · 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 · 2183 阅读 · 1 评论 -
微信公众号开发 - 引导用户关注、一键关注
微信公众号开发如何引导用户关注?如何一键关注?5个步骤:1. 打开公众号,点击右上角人像图标;2. 点击查看“全部消息”;3. 点击右上角三个点的图标,然后“复制链接”;4. 获得链接;5. 将该链接放进你想要做跳转的地方即可。原创 2019-04-19 10:29:23 · 3531 阅读 · 0 评论 -
vue子组件与父组件之间的传值
【vue子组件与父组件之间的传值】在子组件与父组件之间的通信中,无论是子组件向父组件传值还是父组件向子组件传值,他们都有一个共同点就是有中间介质,子向父的介质是自定义事件,父向子的介质是props中的属性。抓准这两点对于父子通信就好理解了。原创 2019-04-28 11:55:05 · 1506 阅读 · 0 评论 -
微信小程序 使用特殊字体的两种方法
微信小程序中如何使用特殊字体?我有两种方法:1.转base64格式;2.【推荐使用】动态加载网络字体原创 2019-04-09 14:55:55 · 14919 阅读 · 0 评论 -
javascript面试题 - 关于setTimeout异步的案例
var t = true;window.setTimeout(function (){ t = false;},1000);while (t){}alert('end');结果:死循环解释:js是单线程的,while和alert都是同步代码,所以会先执行while再alert,而while循环是一个死循环,所以alert也不会执行。再说setTimeout,它是异步...原创 2018-11-08 11:23:28 · 461 阅读 · 0 评论 -
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 · 588 阅读 · 0 评论