自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 3种云计算模式:SaaS、Paas、IaaS

SaaS(Software as a Service:软件即服务)SaaS是一种通过Internet提供软件的模式,用户不用再购买软件,而改用向提供商租用基于web的软件,来管理企业经营活动,且无需对软件进行维护,服务提供商会全权管理和维护软件。SaaS提供商为企业搭建信息化所需要的所有网络基础设施及软件、硬件运作平台,并负责所有前期的实施、后期的维护等一系列服务。SaaS 是软件的开发、管理、部署都交给第三方,不需要关心技术问题,可以拿来即用。普通用户接触到的互联网服务,几乎都是 SaaS。比喻.

2022-04-14 15:56:18 19384

转载 echarts:tab切换效果

1、安装echarts:npm install echarts --save2、安装ant-design-vue:yarn add ant-design-vue(我用的tab组件是ant-desgin-vue的,所以要安装这个)3、main.js引入以上两位import Vue from 'vue'import App from './App.vue'import Antd from 'ant-design-vue';import 'ant-design-vue/dist/antd.css

2022-01-20 09:23:01 2324

原创 vscode中ts自动转为js

前提:已经全局安装了typeScript:cnpm install -g typescript;项目中有tsconfig.json文件,生成方法:tsc --init(在当前项目目录执行的命令);然后修配置文件中的outDirvscode的配置:1.点击工具栏终端2.选择运行任务3.选择tsc监视若出现此项,则说明tsc监视成功,在ts文件中写的代码,按保存就能自动编译成js文件...

2022-01-13 17:19:16 2990

转载 微信小程序 - 获取/修改上一页面数据 getCurrentPages()

使用 getCurrentPages();获取当前页面栈。 数组中第一个元素为首页,最后一个元素为当前页面Page({ /** * 页面的初始数据 */ data: {}, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { var pages = getCurrentPages(); // 上一页面栈 var prevPage =

2022-01-10 16:14:38 4660 1

原创 记录:HBuilderX打包安卓app(Vue框架开发)时,主页空白的情况

手机模拟器:夜神模拟器;解决的办法细节有两点:vue.config.js配置文件把publicPath根路径配置上module.exports = { publicPath:'./'}2.路由配置为hash模式(默认就是哈希模式) ,不能是history模式const router = new VueRouter({ routes})原因不太清楚,先蹲一个解答回复。...

2022-01-05 17:16:18 2127

原创 trim函数去除空格(所有空格,前后,前,后)以及字母大小写切换

//value:要去除空格的字符串//type: 1-所有空格 2-前后空格 3-前空格 4-后空格function trim(value, type) { switch (type) { case 1: return value.replace(/\s+/g, ""); case 2: return value.replace(/(^\s*)|(\s*$)/g,""); case 3: return value.replace(/(^\s*)/g, "");

2021-12-06 17:35:50 3503

转载 JS事件循环机制

参考链接:https://zhuanlan.zhihu.com/p/139967525;https://mp.weixin.qq.com/s/7k4skVdCIhTsTdEFmXyYLg

2021-11-22 08:53:48 57

原创 JS深拷贝、浅拷贝、赋值

前言:要理解JS对象的深浅拷贝的前提知识:需要了解JS的数据类型以及数据类型在内存中是如何存储的(栈跟堆)1. 赋值如图:将含有基础类型跟引用类型的obj赋值给obj1,并修改obj1里面的基础数据类型(属性name)以及引用数据类型(属性hobby),结果obj的属性值也跟着改变,这是属于赋值,不属于浅拷贝2. 浅拷贝浅拷贝与赋值最大的不同点在于浅拷贝会新创建一个对象,浅拷贝改变基础数据类型不会影响到原数据,但是改变引用数据类型就会影响到原数据(因为拷贝的是内存地址,还是指向同一个堆)如下代码

2021-11-21 23:09:39 745

原创 JS函数声明以及变量声明

注意点:如果函数名跟变量名重叠,函数声明优先级比变量高,即函数声明会覆盖变量声明。函数声明虽然不被变量声明覆盖,但是变量赋值会覆盖函数声明。函数声明跟函数表达式的结果不一样,函数表达式可以看成是变量声明。注意点1举例:如果函数名跟变量名重叠,函数声明优先级比变量高,即函数声明会覆盖变量声明。console.log(bar);function bar(){ console.log("函数声明");}var bar= "变量";console.log(bar);打印结果为:/*

2021-11-17 16:27:38 807

原创 记录:Vue常用的传值通信方法

众所周知,vue的传值方法很多,如下:父传子:子组件设置props + 父组件设置v-bind:/:子传父:子组件的$emit + 父组件设置v-on/@;Bus总线:新建一个vue实例, emit发送,on接收,这个方法要注意以下坑1:第一次触发的时候,接收页面 $ on没监听到,可以去了解一下页面跳转的生命周期的关系,注意接收的时间就行了,或者把发送 $ emit放在this. $ nextTick里面;坑2:$on监听不会自动销毁,所以多次跳转会发现接收多次,需要在监听页面的销毁生命周期函数用

2021-11-03 15:58:02 152

转载 import 和 require 实现路由懒加载的区别

import 和 requirenode编程中最重要的思想就是模块化,import和require都是被模块化所使用。遵循规范require 是 AMD规范引入方式import是es6的一个语法标准,如果要兼容浏览器的话必须转化成es5的语法调用时间import 是在编译时调用,所以必须放在文件开头requier是在运行时调用,所以require理论上可以运用在代码的任何地方本质require是赋值过程,其实require的结果就是对象、数字、字符串、函数等,再把requir

2021-10-28 11:42:55 1362

转载 《Git》版本管理工具的初识与入门

原文链接:https://blog.csdn.net/zy21131437/article/details/106781152

2021-10-18 10:07:39 59

转载 JavaScript 中 call()、apply()、bind() 的用法

先看看例子:例 1obj.objAge; // 17obj.myFun() // 小张年龄 undefined例2shows() // 盲僧 比较一下这两者 this 的差别,第一个打印里面的 this 指向 obj,第二个全局声明的 shows() 函数 this 是 window ;1,call()、apply()、bind() 都是用来重定义 this 这个对象的!obj.myFun.call(db);    // 德玛年龄 99obj.myFun.apply(db)

2021-10-11 11:52:08 55

转载 微信小程序之动态获取元素宽高、距离顶部底部的距离

一.首先,这个接口会返回一个对象实例。var obj=wx.createSelectorQuery();下面的就是返回的对象实例 obj 的所有内容。返回的 obj 有五个方法:obj.in(component):没用过这个方法,多用于组件的选择器。obj.select(selector):获取指定的节点,selector是css选择器。返回一个 NodesRef 对象实例,可以用于获取节点信息。obj.selectAll(selector):获取指定的节点,selector是c

2021-09-30 16:39:18 8736

原创 解决:微信小程序tab导航栏切换时,由于tab内容高度不一致而触发的触底事件onReachBottom

场景:如图所示,不同的tab栏的内容高度不一致,如果由全部的导航栏切换到感觉划算的导航栏时,由于容器高度发生了变化,页面中的onReachBottom方法会触发。但是实际开发中,我们通常只是希望页面下拉到底部时才会触发此事件,解决办法有很多,例如:可以在页面中设置onReachBottomDistance来规定下拉到多少距离时才会触发此事件在这里,使用watch监听的方法来限制onReachBottom事件的触发;定义一个变量isReachBottom默认值为truedata() {

2021-09-15 10:36:53 2784

原创 js日期格式化封装(8种格式)

封装一个time.js文件,包含8种格式,需要传两个参数,时间戳str以及格式化的类型type,日期补零的方法用到es6语法中的padStart(length,‘字符’),第一个参数是指定生成的字符串的最小长度,第二个参数是用来补全的字符串。如果没有指定第二个参数,默认用空格填充。需要注意的是需要将获取到的年月日转为字符串,可以直接拼接一个引号’’。// type:0 =>2021-09-12 默认// type:1 =>2021-09-12 10:34:12// type:2 =>

2021-09-12 11:20:30 1004

原创 记录uni-app小程序给页面page设置背景颜色不起作用的坑

在开发小程序的时候,为了防止页面之间的样式耦合影响,一般都会加上scoped的属性但是如果在里面设置page的背景颜色的话,会不起作用的解决办法:多写一个style标签,把page的样式放进去就好,这个背景颜色也不会影响其他页面的背景颜色。...

2021-09-10 11:26:55 3852 4

原创 uni-app开发小程序:获取openid的两种方法

方法一:使用云函数// 云函数入口文件const cloud = require('wx-server-sdk')cloud.init()const db= cloud.database()// 云函数入口函数exports.main = async (event, context) => { const openid = cloud.getWXContext().OPENID; const id = event.id})方法二:根据appid跟AppSecret(小程序

2021-09-07 08:56:46 3536 1

转载 Promise.all 处理error

Promise.all()接受一个由promise任务组成的数组,可以同时处理多个promise任务,当所有的任务都执行完成时,Promise.all()返回resolve,但当有一个失败(reject),则返回失败的信息,即使其他promise执行成功,也会返回失败。可以用一句话来说Promise.all(),要么全有要么全无。但话又说回来,有时候我们使用Promise.all()执行很多个网络请求,可能有一个请求出错,但我们并不希望其他的网络请求也返回reject,要错都错,这样显然是不合理的。而我

2021-08-25 18:31:33 466

转载 理解和使用Promise.all和Promise.race

一、Pomise.all的使用Promise.all可以将多个Promise实例包装成一个新的Promise实例。同时,成功和失败的返回值是不同的,成功的时候返回的是一个结果数组,而失败的时候则返回最先被reject失败状态的值。具体代码如下:let p1 = new Promise((resolve, reject) => { resolve('成功了')})let p2 = new Promise((resolve, reject) => { resolve('succe

2021-08-18 10:13:41 124

原创 记录:微信小程序做了整改之后getUserInfo替换getUserProfile的方法

前言:自2021.4.13日后,微信小程序API做了调整,之前用的getUserInfo目前无法直接获取用户信息了,比如昵称头像等等,想要用户授权获取用户信息,就得将getUserInfo改成getUserProfile接口。目前想到的解决办法是把用户授权过的信息缓存起来,要么在小程序本地缓存要么利用后台接口缓存,在这里选择的是接口缓存的方法,不过由于我水平有限,在这里的后台接口是小程序中云开发中的云函数。场景:文章点赞功能,在点赞前需要获取用户的头像等信息;步骤1:点击点赞事件,先判断用户是否已经授

2021-08-12 15:16:44 1323

原创 微信小程序引入iconfont的坑(渲染层网络层错误)

首先,我们在iconfont官网下载字体图标2.解压,引入到小程序中(注意,css文件的后缀要改成wxss):3.编译,报错Failed to load local font resource /iconfont.woff2?t=1628652179539-do-not-use-local-path-./fonts/iconfont.wxss&5&7net::ERR_CACHE_MISS4.**解决办法:**去到下载代码的页面,点击查看在线链接5、把在线链接的代码覆盖掉i.

2021-08-11 11:46:48 9263 17

原创 正则表达式手册

常用正则表达式链接:https://tool.oschina.net/uploads/apidocs/jquery/regexp.html

2021-08-09 16:41:21 81

转载 微信小程序之生命周期

由于小程序分为应用和页面两个部分,所以小程序的生命周期就涉及到以下部分。分别是:应用的生命周期。页面的生命周期。应用的生命周期对页面生命周期的影响。路由变化对页面生命周期的影响。一、应用的生命周期前台、后台定义: 当用户点击左上角关闭,或者按了设备 Home 键离开微信,小程序并没有直接销毁,而是进入了后台;当再次进入微信或再次打开小程序,又会从后台进入前台。1、用户首次打开小程序,触发 onLaunch(全局只触发一次)。2、小程序初始化完成后,触发 onShow 方法,监听小程

2021-08-05 23:11:32 5369

转载 localStorage的数据为什么要用vuex维护——localStorage的读取性能

转载:https://blog.csdn.net/RkHker/article/details/108541282

2021-08-04 11:38:12 130

转载 vue中mixins的使用方法和注意点(详)

链接:https://www.cnblogs.com/Ivy-s/p/9937173.html

2021-07-23 17:30:35 123

转载 vue项目实现返回顶部功能

回顶部按钮为一张img图片btnFlag 控制图片显示隐藏backTop 回顶部的方法HTML代码<img v-if="btnFlag" class="go-top" src="图片url" @click="backTop">// vue的两个生命钩子,这里不多解释。// window对象,所有浏览器都支持window对象。它表示浏览器窗口,监听滚动事件vue实例:mounted () { window.addEventListener('scroll', this.scro

2021-07-22 17:01:35 365

原创 移动端适配的三种方法

根据750的设计稿为例**方法一:**引入rem.js文件,具体的文件代码可参考:(function (doc, win) {var docEl = doc.documentElement,// orientationchange 当设备的方向变化(设备横向持或纵向)此事件被触发//判断窗口有没有orientationchange这个方法,有就赋值给一个变量,没有就返回resize方法。resizeEvt = 'orientationchange' in window ? 'orientatio

2021-07-20 15:31:08 1639

转载 自己封装 vue 组件 和 插件

链接:https://www.cnblogs.com/wfblog/p/10519599.html

2021-07-16 10:46:28 240

转载 Vue 基础知识之 Vue.extend

Vue.extend 属于 Vue 的全局 API,在实际业务开发中我们很少使用,因为相比常用的 Vue.component 写法使用 extend 步骤要更加繁琐一些。但是在一些独立组件开发场景中,Vue.extend + $mount 这对组合是我们需要去关注的。官方文档学习开始之前我们先来看一下官方文档是怎么描述的。Vue.extend( options )参数:{Object} options用法:使用基础 Vue 构造器,创建一个“子类”。参数是一个包含组件选项的对象。data 选项是特

2021-07-16 10:31:59 332

原创 axios的传参方式(get与post为例)

可以通过向 axios 传递相关配置来创建请求,此处以常见的两种请求方式get,post为例:1、get:axios({ method: 'get', url: '/user', params: { firstName: 'XXX', lastName: 'XXX' } })2.post:axios({ method: 'post', url: '/user', data: { firstName: 'XXX', last

2021-07-15 17:26:09 16188 1

转载 js 中的! 和 !! 的区别

Js中!的用法是比较灵活的,它除了做逻辑运算常常会用!做类型判断,可以用!与上对象来求得一个布尔值,1、!可将变量转换成boolean类型,null、undefined和空字符串取反都为false,其余都为true。1 !null=true23 !undefined=true45 !''=true67 !100=false89 !'abc'=false2、!!常常用来做类型判断,在第一步!(变量)之后再做逻辑取反运算,在js中新手常常会写这样臃肿的代码:判断变量a为非空,未定义或者

2021-07-14 15:16:50 299

转载 Vue数据双向绑定 .sync

在以前我们希望组件之间实现双向绑定,即将父组件的值传给子组件,而后又在子组件中更新该值,并传递回给父组件,是比较麻烦的一件事。按照一般的方式,我们是通过在子组件中抛出一个事件,同时在父组件写一个方法接收并更新,实在是麻烦。现在有了一种更简便的方法,直接使用 .sync 来实现。如下面的代码:<db-component-demo :moduleCode.sync="moduleCode"></db-component-demo>在原本的绑定上,添加.sync子组件中,同

2021-07-13 15:46:24 1138

原创 vue移动端的日期选择器(vue-mobile-calendar)使用推荐

步骤:安装依赖 npm install vue-mobile-calendar -S2.在入口文件main.js中引入:import Vue from 'vue'import Calendar from 'vue-mobile-calendar'Vue.use(Calendar)3.使用:<calendar v-model="calendarShow" :defaultDate="defaultDate" :minDate="minDate"

2021-07-05 16:15:10 3043

原创 el-pagination解决分页不更新的原因及解决方法

场景:在分页查询的时候,有时候我们在切换查询条件时,分页的页数还停留在上一次查看的页数,而不是从第一页开始。下图是重新查询的数据,但是页码还停留在第六页(当数据多于六页数据的时候,会显示第六页的数据,但是当数据少于六页数据时,就会显示暂时无数据,其实数据是拿回来的,只是这时候分页器接收到的页码是6,而没有那么多数据显示,就会显示暂无数据)**解决办法:**可以给装分页器的元素添加一个条件渲染,让每次请求时,分页器都重新加载。在请求开始前,把pageshow设为false,请求结束之后,就设为true(

2021-06-29 19:54:24 6064

原创 vue中过滤器filters获取不到this的问题以及解决方法

在vue中,如果要过滤的数据是依赖this上下文的话,是会报错的,因为this的指向是undefined,而不是vue实例;打印结果:原因:这句话的大概意思是,vue中的过滤器更偏向于对文本数据的转化,而不能依赖this上下文,如果需要使用到上下文this我们应该使用computed计算属性的或者一个method方法。解决办法1:在data中定义一个that=this,在需要过滤的过滤器中传入that参数,然后在过滤器中使用结果:可以拿到firstTime的值解决办法2:改用compu

2021-06-28 10:35:30 6067 1

原创 JS根据返回来的日期或者时间戳,推算出周几

第一步,先将日期或者时间戳通过Date实例化;let day = new Date(str).getDay();day返回来的结果是0-6第二步将day返回来的结果进行过滤,可以用if,也可以用switch,或者用其他方法。此处用switch switch (day) { case 0: return `周日`; break; case 1: return `周一`; break;

2021-06-28 10:10:28 1842

转载 vue+typescript项目构建以及ts与js写法对比

1. 安装Vue CLIVue CLI 的包名称由 vue-cli 改成了 @vue/cli。 如果你已经全局安装了旧版本的 vue-cli (1.x 或 2.x),你需要先通过 npm uninstall vue-cli -g 或 yarn global remove vue-cli 卸载它。npm install -g @vue/cli# ORyarn global add @vue/cli2.构建项目vue create my-project这里选择第二个(Manually sel

2021-06-17 17:18:45 996

原创 TypeError: Cannot read property ‘XXX‘ of undefined。解决Vue开发中,XXX数据可以正常使用,但是控制台报错

如图,在定义menuArr为对象数组,在html中需要循环渲染对象中的某个数据(图片中的name),但是会报图二的错误,而页面正常渲染。图1:图2:**产生bug的原因:**在渲染的时候,menuArr的值还没初始化,里面的对象还不存在,在这个对象中取其他值自然会报错,但是渲染完成后,menuArr中的值加载好了,因此可以渲染到,这也就是为什么界面正常显示,但控制台会报错的原因。解决办法::渲染之前先判断一下menuArr里面的对象是否存在,也就是加上一个条件判断v-if。...

2021-06-16 17:14:36 1123

原创 Mint-ui中Navbar组件的坑

如图,在mint-ui官网中,Navbar选中的项,底边框是可以显示出来的。但实际开发中,有时候,底部的边框是显示不出来的原因:是因为被选中的item加了一个margin-bottom。解决办法:去掉这个margin-bottom即可...

2021-06-16 11:32:48 227

空空如也

空空如也

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

TA关注的人

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