自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 关于element-UI中avatar头像组件无法切换更新问题

只需要在avatar组件中添加key属性即可解决

2021-08-25 15:17:26 548

原创 关于字节跳动小程序授权问题解决方案

授权弹窗无法调起在字节跳动小程序中调用有关于用户授权的接口的时候, 如果在首次调起授权弹窗的时候用户选择了拒绝,此时再次调用该接口的时候,将不会再次调起授权弹窗。在字节跳动官方文档中有关于这种情况的描述, 如下小程序仅在 API/组件 首次 调用/使用时弹窗询问用户。若用户允许则正常调用,否则本次调用失败。且在用户手动授权之前,开发者再次调用需要授权 API 时,会直接进入接口的 fail 回调。同时,无论用户允许与否,该授权设置均会出现在小程序授权设置页中。用户可以再次修改授权,调用结果也会随之变

2021-08-25 11:00:21 1287 2

原创 H5页面跳转微信小程序

实现H5页面跳转微信小程序有三种方式来实现如果需求为在微信浏览器中实现跳转,则推荐使用微信官方接口 wx-open-launch-weapp文档点击这里 wx-open-launch-weapp接口文档注意:该方法只开放给已认证的服务号或者小程序云开发的静态网站托管绑定的域名下的网页如果需求为在外部浏览器中实现跳转,则需要使用URL Scheme的方式来实现前端在获取到URL Scheme后通过以下代码就可以实现跳转文档点击这里 URL Scheme文档location.hre

2021-07-09 16:08:28 3232 2

原创 vue项目跨域问题完全解决

跨域简单来说就是当前页面的url地址与请求的url地址不一致就会造成跨域解决跨域问题常用有两种解决方案JSONP: 利用HTML中的script的src属性可以跨域的特地, 在跨域脚本中直接通过回调函数的方式获取数据CORS: 在服务器端设置HTTP响应头中的Access-Control-Allow-Origin值来解决跨域限制但是这两种方案都需要依赖后端的特殊处理前端独立解决跨域问题代理这里简单的描述一下代理的原理首先分配三个角色 浏览器; 目标服务器; 代理服务器;..

2021-07-05 14:56:00 684

原创 uni-app发布为H5页面白屏问题

这是由于uni-app中H5配置不全的问题, 需要进行如下配置找到项目根目录中manifest.json文件在该文件中配置如下设置"h5" : { "template" : "", "router" : { "mode" : "history", "base" : "/test/" // 服务器根目录存放代码的文件夹路径 }, "title" : "网站标题", "domain" : "https://test.com" /.

2021-07-05 14:54:22 2649

原创 关于微信小程序中uView中通过packer选择器修改表单无法触发form组件的表单验证的问题

uView中使用form表单组件,如果form-item为正常的input组件,在输入和修改form-item绑定的变量的时候,都会触发form表单的表单验证事件但是如果form-item中不是input组件,而是packer/select等选择组件,此时通过这种选择组件修改form-item绑定的变量的时候,并不会触发form表单的表单验证事件要想选择组件修改变量也能触发form表单验证,需要监听选择组件的选择结束事件,在选择结束的时候手动调用表单的验证事件。比如:// 验证表单方法verif.

2021-06-19 15:23:26 1402

原创 关于微信小程序使用腾讯地理位置服务,线上版本无法生效的问题

在项目中需要使用到地理位置服务中的通过经纬度转换为地理位置, 而在实际使用的时候,使用调试模式打开项目功能正常,但是一旦关闭调试功能,项目功能则无法实现。本质上是由于小程序项目的安全域名没有添加上腾讯地理位置服务的域名,导致线上版本无法正确地访问腾讯地理位置服务。只需要在微信公众平台中对应的小程序项目添加服务器域名即可。...

2021-06-19 15:22:31 1374

原创 安卓端和IOS端小程序蓝牙通讯问题

关于微信小程序中安卓端和IOS端蓝牙通讯问题微信小程序所提供的蓝牙通讯接口并不区分安卓端和IOS端,但是由于安卓和IOS之间的底层区别,有时候会导致即使使用同一份代码,但IOS端连接正常而安卓端连接异常。一般来说微信提供的蓝牙通讯接口对IOS端的适配较好,而安卓端有可能是由于API之间的调用过快而导致获取设备服务失败。而获取蓝牙设备服务失败的情况有两种,第一种是直接的获取失败,这种失败会报错;第二种是获取到的设备服务列表为空数组,但是不会报错,如果没有添加验证判断,这种情况会导致后面的蓝牙操作失败一

2021-06-15 14:14:53 1235

原创 element-ui中dialog和el-image组件冲突问题

dialog编辑框中点击小图片预览图片被dialog框覆盖遮挡的BUG, BUG本质是如果el-image-viewer组件在el-dialog里面,el-dialog的层级是优先的, 所以解决的关键在于提高el-iage-viewer的层级, 直接在对应的el-image组件添加属性:zIndex=“9999”, 因为el-image是允许传入zIndex参数的, 但是官方文档没有提及...

2021-05-10 09:11:24 2986 3

原创 解决element-ui中表格行点击事件和表格单元格点击事件冲突的问题

element-ui中如果同时设置了表格行点击事件和表格单元格点击事件的化,当点击单元格的时候会因为事件冒泡触发表格行点击事件,这不是我们需要的要解决这种事件冲突的问题,只需要在单元格的点击事件上加上修饰符 .navite.stop即可比如 @click.native.stop=“passStream(scope.row)”实际上表格行点击事件和表格中的单元格中的任何元素发生点击冲突的时候只要给单元格元素加上 @click.native.stop 属性即可...

2021-05-07 15:30:59 3089

原创 弹出框组件

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> * { p

2021-04-09 11:25:25 167

原创 比较完善的手写数组reduce方法

手写数组reduce方法看过其他的文章, 感觉他们实现的reduce方法不够完善, 分享一下自己写的比较完善的reduce方法, 如果错误的地方, 请留言给我Array.prototype.newReduce = function (fn, value) { const currentArr = this; // 如果一个空数组而且没有传入初始值则报错 if (currentArr.length == 0 && value == undefined) { thro

2021-03-29 23:38:03 201

原创 ES6中使用let, const声明的变量, 在window对象下是获取不到的

ES6中使用let, const声明的变量, 在window对象下是获取不到的今天在写demo的时候发现, 使用let或者const声明的变量, 在window对象下使用this来获取发现获取不到参考别人的文章后发现, 原来es6中,var,function声明的全局变量,仍然属于顶级对象的属性;使用let,const,class声明的全局变量不再属于顶层对象的属性,这意味着es6开始,全局变量和顶层对象的属性开始分离,脱钩。所以我们在window对象里也就找不到let声明的age了。let a

2021-03-29 22:06:50 897

原创 用JS手写map

用JS手写maplet arr = [3, 4, 5, 6, 7];Array.prototype.newMap = function (fn, thisArg) { // 首先判断传入的第一个参数是否为函数, 如果不是则抛出错误 if (Object.prototype.toString.call(fn) !== "[object Function]") { throw ("The first argument must be a function") } // 定义一个空

2021-03-29 00:40:04 1835

原创 Vue学习笔记之18-网络请求模块的封装

常见的网络请求模块, 以及它们的优缺点对比传统Ajax请求缺点: 配置和调用方式等非常混乱真实开发中真的很少直接使用, 而是使用Jquery-AjaxJquery-ajax相对于传统的Ajax非常好用但是我们在整个vue的开发中都是不需要使用Jquery的那么就意味着为了方便我们进行一个网络请求, 特意引用了一个jQuery, 这显然不合理, Vue的代码才一万多行, jQuery的代码就一万多行了完全没有必要为了使用网络请求就引用jQuery这个框架官方在Vue1.x的时候

2020-11-16 18:51:56 350 1

原创 Vue学习笔记之16-tarbar地开发思路

页面下方有一个单独的TabBar组件, 如何封装自定义TabBar组件, 在App组件中使用让TabBar处在底部, 并且在 .vue文件中的style标签中设置相关的样式页面中会有很多公共的样式, 我们如何处理公共样式呢?在项目的assets文件夹中创建一个名为css的文件夹, 在该文件夹中创建一个名为 base.css 的文件在base.css文件中写入公共的样式在 .vue组件文件中的 style标签中使用 @import url 来引入公共的样式<!-- 这个是 .vue

2020-11-14 23:49:17 286

原创 Vue学习笔记之15-vue-router详解

什么是路由路由是一个网络工程中的一个术语路由(routing) 就是通过互联的网络把信息从源地址传输到目的地址的活动路由器提供了两种机制: 路由和传送路由是绝对数据包从来源到目的地的路径传送将输入端的数据转移到合适的输出段路由中有一个非常重要的概念叫路由表路由表本质就是一个映射表, 决定了数据包的指向相关概念内网IP, 每一个链接上网络的设备都有一个内网IP, 这个内网IP是为了区分链接同一个局域网的不同设备, 在同一个局域网中的每个设备的内网IP是唯一的公网IP,

2020-11-13 16:08:58 355

原创 Vue学习笔记之14-Vue-CLI脚手架

什么是Vue CLI如果只是写几个Vue的Demo程序, 那么时不需要用Vue CLI的如果在开发大型项目的话, 那么就需要, 而且必然需要使用Vue CLI因为在使用Vue.js开发大型应用的时候, 我们需要考虑代码的目录结构,项目结构和部署,热加载,代码单元测试(国内公司少做)等事情如果每个项目都要手动完成这些工作,那无疑效率是十分低效的, 所以我们需要使用一些脚手架工具来帮助完成这些繁琐的事情CLI是什么意思CLI是Command-Line Interface, 翻译过来就是命令

2020-11-11 21:14:37 154

原创 npm install失败的解决方法

在通过npm下载安装模块,安装失败的解决方法在通过npm下载安装模块的时候, 可能会遇到一些问题例如网络掉包, 导致的安装失败程序出错导致的安装失败如果是因为网络掉包的原因可以设置npm的淘宝镜像源(推荐)或者下载cnpm 模块,来进行安装(不推荐)在安装模块失败的时候, 通常我们都需要重新安装这个模块但是在重新安装之前, 我们需要将之前安装失败的文件先删除具体步骤第一步, 通过 npm uninstall 模块名 来卸载模块第二步, 命令行输入 npm cle

2020-11-11 00:19:02 1686

原创 Vue学习笔记之13-webpack的配置 傻子看了都会配置的超详细教程

认识webpackwebpack是什么本质上来说, webpack是一个现代的javaScript应用的静态模块打包工具实质上, webpack就是 将代码进行模块化和打包的工具前端模块化前端模块化的一些方案有, AMD CMD CommonJS ES6在ES6之前, 我们想要进行模块化开发, 就必须借助于其他的工具进行而且在通过模块化开发完成项目后, 还需要处理模块和模块之间的各种依赖, 进行整合打包而webpack和其中一个核心就是帮助我们进行模块化开发, 并且帮助我们处理模块

2020-11-10 17:25:16 275

原创 Vue学习笔记之12-前端模块化

JavaScript原始功能在早期的网页开发时期, js的代码很少, 都是直接将js代码写到html代码中的script标签中就可以了随着ajax异步请求的出现, 慢慢形成了前后端分离用户需求越来越多, 代码与日俱增为了应对代码量的剧增, 我们将代码写到多个js文件中, 进行维护但是这样容易引起变量泄露等等的严重问题可以使用匿名函数闭包来解决变量泄露的问题但是这样又引入了另外的一个问题, 代码不能复用了如何使用闭包防止变量泄露原理利用函数自身的块级作用域特性, 函数内

2020-11-08 17:54:01 146 1

原创 Vue学习笔记之11-slot插槽

slot插槽为什么要使用slot插槽组件的插槽是为了让我们封装的组件更加具有扩展性让使用者可以灵活地决定组件内部的内容到底展示什么网页和网页间每一个组件有很多的区别, 也有很多共性, 如果我们为每一个网页都去单独地封装一个组件是不合适的, 所以我们需要slot插槽如何封装一个灵活的组件将共性(相同的地方)抽取放到组件中, 将不同的地方暴露为插槽预留了插槽, 就可以让使用者根据自己的需求, 决定插槽内的内容slot的基本使用在子组件中, 用特殊的元素标签slot就可以为

2020-11-08 17:53:23 138

原创 Vue中子组件向父组件请求数据时的数据格式问题

props中的数据的类型 type 设置为数字 0 的话, 则标示传入任何类型的数据都可以cpn: { template: '#cpn', // 向根组件 请求 数据 props: { number1: { type: 0, // type设置为0的话, 那么传入任何类型的数据都不会报错 required: true } }...

2020-11-07 11:46:43 218

原创 Vue学习笔记之10-组件化开发

什么是组件化将一个复杂的问题, 拆解为很多个可以处理的小问题, 再将其放到整体当中,大问题就可以迎刃而解 其实就是 动态规划问题组件化也是类似的思想如果将一个页面中所有的处理逻辑全部放在一起,处理起来就会变得非常复杂, 而且不利于后续的管理以及扩展, 不利于维护如果将一个页面拆分成一个个效地功能块, 每个功能块完成属于自己的部分的独立功能, 那么之后整个页面的管理和维护就变得非常容易了组件化是Vue.js中的重要思想, 它提供了一种抽象, 让我们开发出一个个独立的可以复用的小组件

2020-11-06 18:38:04 149

原创 Vue学习笔记之09-v-model双向绑定

v-model的基本使用在input框中添加指令, v-model, 值为需要绑定的data数据这样的话, 修改input框中的内容, data中的内容也会响应式改变<div id="app"> <input type="text" v-model="message"> {{message}} </div> <script> const app = new Vue({ el: "#app", d

2020-11-06 18:37:19 351

原创 Vue学习笔记之07-v-for循环遍历

v-for循环遍历数组v-for循环遍历一个数组, 没有使用索引值(下标值) v-for=“item in arr”v-for循环遍历一个数组, 使用索引值(下标值) v-for="(item, index) in arr"<div id="app"> <!-- v-for循环遍历一个数组, 没有使用索引值(下标值) --> <ul> <li v-for="item in names">{{item}}</li&gt

2020-11-06 18:36:42 314

原创 Vue学习笔记之06-响应式的数组方法

数组中的哪些方法是响应式的push(), pop(), shift(), unshift(), splice(), sort(), reverse() 这些方法是响应式的修改数组中的数据不是响应式的!如果想要修改数组中的数据也有响应式 则需要用splice() 方法或者使用Vue的set()方法 set(要修改的数组, 要修改的数据的下标, 修改后的数据)<div id="app"> <ul> <li v-for="item in arr"&g

2020-11-06 18:36:12 208

原创 Vue学习笔记之05-条件判断

v-if指令的值可以是一个布尔值, 也可以是一个判断条件用于决定一个标签元素是否在页面中渲染如果值为真, 则指令的标签会加载在页面中, 为false则不会加载在页面中(不会存在)<div id="app"> <!-- v-if基本使用, 如果值为true则会加载该标签, 为false则不会加载该标签(这个标签不会存在) --> <h2 v-if="false">{{meassage}}</h2> </div> &

2020-11-06 18:35:22 471 1

原创 Vue学习笔记之04-computed计算属性

计算属性 computed什么是计算属性, 在某些情况下, 需要将数据先进行转化后再进行显示, 或者需要将多个数据结合后再进行显示, 那么就需要将属性进行处理, 这就叫做计算属性在进行变量的操作的时候 将操作写到computed对象中, return 计算的结果定义名字的时候尽量与methods的方法区别开来, methods中定义名字用动词, computed中定义名字用名词<div id="app"> <!-- 定义好后直接mustache语法调用即可 -->

2020-11-06 18:34:53 261

原创 Vue学习笔记之03v-on事件监听

v-on指令的基本使用<div id="app"> <h2>{{counter}}</h2> <!-- <button v-on:click="counter++">+</button> <button v-on:click="counter--">-</button> --> <!-- <button v-on:click="increment">+</

2020-11-06 18:34:09 178

原创 Vue学习笔记之02-Mustache语法以及一些指令

Mustache语法又称大胡子语法 就是用两个大括号来包裹变量 从而挂钩Vue去解析里面的代码比如 <h2>{{message}}</h2> <!-- Mustache语法中不仅仅可以直接写变量, 还可以写一些简单的表达式 --> <h2>{{firstName + lastName}}</h2> <h2>{{firstName}} + ' ' + {{lastName}}</h2>

2020-11-06 18:33:04 735

原创 Vue学习笔记之01-Vue的特点

Vue基础0.准备工作+ 下载vue 可以通过cdn引入vue 也可以下载vue.js本地引入+ vue的基本使用 - 在引入vue后 new Vue({}) 一个vue对象 - 这样操作是为了防止XSS,csrf的攻击 - 例如 new Vue({ el : '#box', //此处写需要进行vue渲染的元素 data : { // 此处写变量 myname : 'xiaoLam'

2020-11-06 16:43:58 215

原创 JS报错: Uncaught SyntaxError: Invalid shorthand property initializer

JS报错: Uncaught SyntaxError: Invalid shorthand property initializer如果你的代码报错以上提示, 那么就去检查一下, 对应的代码是不是把对象格式写错了, 比如: 冒号 “:” 写成了 等号 “=”return { // 查看对象的格式 // 这里就是错误的格式 num = 0 // 正确的格式应该是将等号换成冒号 }...

2020-11-06 14:11:21 195

原创 如何利用VUE动态添加class样式

看注释, 就可以理解原理<body> <!-- 需求, 在每次点击li的时候, 当前的li添加class, 其余的li删除class --> <div id="app"> <ul> <!-- @click="getClass(index) 在每次点击li后调用getClass方法 --> <!-- :class="{'red':index==current}" 动态绑定class, 并且进行判断, 当

2020-11-02 20:33:42 2041

原创 nodejs学习笔记(上)

nodejs学习笔记 (上)通过学习需要做到的是 了解 前后端是如何进行交互的nodejs也是使用javaScript进行编写的javaScript在不同的运行环境中有不同的作用在浏览器内核中 javaScript用来实现用户的交互dom操作 bom操作 ajax等等在浏览器的运行环境中 javaScript不能操作用户的文件 这个不是因为javaScript能力不允许 而是因为浏览器禁止了这类操作, 原因是不安全而在node终端中运行的javaScript就可以对文

2020-10-31 23:57:11 143

原创 上传文件接口

一个用于上传文件的接口这个接口可以设置统一的返回格式, 使用到的npm插件有multer 和 expressconst express = require("express");const router = express.Router();const multer = require("multer");var storage = multer.diskStorage({ //设置上传后文件路径,uploads文件夹会自动创建。 destination: function(req, fil

2020-10-29 23:26:09 1334

原创 npm卸载全局安装的第三方插件注意事项

node中使用cnpm下载并全局安装的第三方包, 在要卸载的时候, 不可以使用代码npm uninstall 包名 -g而是要用cnpm uninstall 包名 -g

2020-10-24 17:33:15 2048

原创 仿照小米官网项目具体操作与细节

小米官网项目具体操作1.gulp的搭建一 , 打开node控制台命令行输入 cd 加文件夹路径 进入当前文件夹命令行输入 cnpm init 将当前文件夹初始化参数不需要改变直接使用默认值即可命令行输入 cnpm install gulp --save -dev 下载gulp自行下载gulp中需要使用的插件 gulp-sass gulp-minify-css gulp-rename在当前文件夹中创建 gulpfile.js 文件 所用对于node的操作代码都在这

2020-10-24 11:37:59 554

原创 有关文档流的一些注意事项

一、文本在盒子中垂直居中对齐通过给文本设置行高达到垂直居中对齐效果二、使用步骤代码如下(示例):div { height:20px; line-height:20px; }在给文字的行高设置为与盒子高度相同时,实现垂直居中效果一、标准流中行内块元素之间会有缝隙在给盒子添加浮动后可以消除缝隙div { width: 150px; height: 200px; background-color: pink;

2020-09-07 19:45:58 176

原创 有关label标签和单选按钮的注意事项

一、label标签可以扩大按钮的点击面积二、使用步骤代码如下(示例):<label for="man">男</label><input type="radio" id="man" name="sex">用 for 来链接需要扩大的按钮,这段代码可以使点击 “男” 也可以触发 input 按钮...

2020-09-07 19:11:17 351

空空如也

空空如也

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

TA关注的人

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