自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Vue常用指令

Vue常用指令总结v-once表示元素或组件只渲染一次,后面修改的都不再进行渲染v-text用于输出文本v-html用于输出 html 代码v-for循环(迭代数组;迭代对象中的属性;迭代数字)v-if根据表达式的值的真假条件(使dom元素销毁或重建)v-else-if必须和 v-if 连用v-else必须和 v-if 连用v-show根据表达式的真假(切换元素的 display css属性) 经常切换某个元素的显示/隐藏时,则使用 v-shou 会更加节省性能

2020-12-16 09:56:21 271

转载 使用Vue.observable()进行状态管理

随着组件的细化,就会遇到多组件状态共享的情况, Vuex当然可以解决这类问题,不过就像 Vuex官方文档所说的,如果应用不够大,为避免代码繁琐冗余,最好不要使用它,今天我们介绍的是 vue.js 2.6 新增加的 Observable API ,通过使用这个 api 我们可以应对一些简单的跨组件数据状态共享的情况。observable()方法,用于设置监控属性,这样就可以监控viewModule中的属性值的变化,从而就可以动态的改变某个元素中的值,监控属性的类型不变量而是一个函数,通过返回一个函数给vie

2020-11-30 14:09:16 524

转载 vue之props、属性、事件传递:$props、$attrs、$listeners

使用介绍:v-bind="$props": 可以将父组件的所有props下发给它的子组件,子组件需要在其props:{} 中定义要接受的props。vm.$props: 当前组件接收到的 props 对象。Vue 实例代理了对其 props 对象属性的访问。官方介绍v-bind="$attrs": 将调用组件时的组件标签上绑定的非props的特性(class和style除外)向下传递。在子组件中应当添加inheritAttrs: false(避免父作用域的不被认作props的特性绑定应用在子组件的根

2020-11-30 13:34:45 895

原创 vue之hook使用

记录一下vue中hook的两点使用1.在同一个组件中例如:在mounted中添加一个监听需要在beforeDistroy中移除这个监听,考虑到某些原因你不想再写个beforeDistroy去实现,这时候绿巨人hook就该登场了!mounted(){ window.addEventListener('online',this.handleOnline) this.$once('hook:beforeDestroy',function() { window.removeEven

2020-11-30 10:38:09 2007

原创 超炫酷的页面

超炫酷的页面

2020-11-17 13:31:58 294

原创 微信小程序防抖和节流封装的轮子

轮子.js//common.js/*函数节流*/function throttle(fn, interval) { var enterTime = 0; //触发的时间 var gapTime = interval || 300; //间隔时间,如果interval不传值,默认为300ms return function() { var that = this; var backTime = new Date(); //第一次函数return即触发的时间 if(backTime -

2020-11-17 13:30:48 388

原创 js数组深度去重

数组对象深度去重var arr = [ {id: 1, name: '周瑜1'}, {id: 3, name: '王昭君1'}, {id: 2, name: '李白1'}, {id: 1, name: '周瑜2'}, {id: 2, name: '李白1'}, {id: 3, name: '王昭君2'}];let newobj = {}; arr = arr.reduce((preVal, curVal) => { newobj[curVal.name] ? ''

2020-11-17 11:25:13 335

原创 htmlcss的一些样式

一条两头尖的线条<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <style> .box{ width:200; height:2px; background: -webkit-linear-g

2020-11-17 11:19:59 221

原创 移动端适配方法之flexible.js

flexible.js ;(function(win, lib) { var doc = win.document; var docEl = doc.documentElement; var metaEl = doc.querySelector('meta[name="viewport"]'); var flexibleEl = doc.querySelector('meta[name="flexible"]'); var dpr = 0; va

2020-11-17 11:08:26 208

转载 微信小程序之函数防抖/函数节流(轮子封装)

前言函数节流是减少函数的触发频率;函数防抖是延迟函数执行,且不管触发多少次都只执行最后一次。函数防抖延迟函数执行。多用于 input 框输入时,显示匹配的输入内容的情况。函数节流单位时间 n 秒内,第一次触发函数执行之后不管用户触发多少次都不会执行。到下一个单位时间 n 秒时,第一次触发函数执行。多用于页面 scroll 滚动,窗口 resize,防止按钮重复点击等。源码小程序中使用函数防抖节流一般都将这两种方法封装在公用 js 里。//common.js/*函数节流*/

2020-10-27 15:11:35 685 1

转载 小程序自定义导航栏

小程序自定义导航栏

2020-09-25 15:49:49 240

转载 小程序仿KeepApp滑动滑动图标

链接1 文章链接2 代码包

2020-09-16 10:31:59 537

转载 小程序使用echarts分包写法

Demo自己去看吧里面还有一些其他小程序得UI

2020-09-08 16:14:42 1005

原创 总结一些Vue的性能优化

代码优化模块化、组件化- 组件是把常用的东西封装起来,最重要的就是复用。- 模块是把同一功能或业务的代码进行分离,降低模块间的耦合性,可以独立运行和管理。- 包括css也可以通过less和sass来减少重复代码。v-for 的 key在使用v-for渲染元素列表时,为每一项都设置唯一的key值,为了让Vue内部更快的定位到该条数据。我们都知道尽量不要使用index下标作为key值,例如:let arr = [ { id: 1, title: 'one' }, { id:

2020-08-28 10:00:32 448 1

原创 Vue技术进阶

1.深层选择器有时,你需要修改第三方组件的CSS,如果您希望scoped样式选择器是“较深的”,即影响子组件,则可以使用>>>组合器:<style scoped>.a >>> .b { /* ... */ }</style>一些预处理器(例如Sass)可能无法>>>正确解析。在这些情况下,您可以改用/deep/或::v-deep组合器-两者都是它们的别名,>>>并且工作原理完全相同。<styl

2020-08-20 14:08:56 228

原创 css优惠卷样式

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>内圆角</tit

2020-08-19 17:11:42 309

原创 iframe标签使用之Vue事件触发传值

首先先介绍一下 ififrame 传递消息的关键方法 postMessagepostMessage的使用一、简介postMessage()方法允许来自不同源的脚本采用异步方式进行有限的通信,可以实现跨文本档、多窗口、跨域消息传递postMessage(data,origin)方法接受两个参数:data :要传递的数据,html5规范中提到该参数可以是JavaScript的任意基本类型或可复制的对象,然而并不是所有浏览器都做到了这点儿,部分浏览器只能处理字符串参数,所以我们在传递参数的时候需要使

2020-08-18 14:03:10 2409

原创 介绍reduce

reduce用法详解reduce() 方法接收一个函数作为累加器,reduce为数组中的每一个元素依次执行回调函数,不包括数组中被删除或从未被赋值的元素,接受四个参数:初始值(上一次回调的返回值),当前元素值,当前索引,原数组语法: arr.reduce(callback, [initialValue])callback: 函数中包含四个参数- previousValue (上一次调用回调返回的值,或者是提供的初始值 ( initialValue))- currentValue (数组中当前被

2020-08-14 14:58:13 521

原创 精度计算,优秀的代码

精度计算 加减乘除// 精度计算export const calc = { // 加 plus(...args){ const {pow} = this.base(args); const result = args.reduce((a,b) => a + b); const max = pow.length ? Math.max(...pow) : 1; const maxPow = Math.pow( 10, ma

2020-08-14 10:46:38 293

转载 vue-cli解析

前言这篇文章的主题是vue-cli的理解。或许,很多人在开发vue的时候,我们会发现一个问题——只会去用,而不明白它的里面的东西。现在的框架可以说是足够的优秀,让开发者不用为搭建开发环境而烦恼。但是有时候,我们还是得回到原始生活体验一下,才能够让自己更上层楼,希望大家共勉。正文首先,我们来说一下安装的东西吧!处于有头有尾的目的,还是几句话草草了事。步骤如下:安装vue-clinpm install vue-cli -g以webpack模版安装目录vue init webapck webpac

2020-08-13 13:39:40 483

翻译 websocket的简单使用

1、maven项目,第一步需要配置jar包<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId></dependency>2、前台使用var websocket = null;//判断当前浏览器是否支持WebSocketif('WebSocke

2020-08-11 10:16:08 278

原创 vue中 Vue.set 的使用

vue中 Vue.set 的使用Vue.set(vm.items, indexOfItem, newValue)1、vm.items :源数据;2、indexOfItem : 要修改的数据的键3、newValue : 要修改的数据let a = [ {name:'张三',age:'20',sex:1}, {name:'李四',age:'21',sex:0}, {name:'王五',age:'22',sex:1},]此时要修改李四的 age 为 19 ,如果直接修改

2020-08-11 09:54:16 690

原创 很简单的数组去重

let arr = [1,2,3,4,5,2,4,3] function Uniq(arr = []) { return arr.reduce((t, v) => t.includes(v) ? t : [...t, v], []); } console.log(Uniq(arr))

2020-08-07 18:09:54 162

原创 javaScript 利用迭代器实现 数组扁平化

转载网上大佬 function *flatten(arr) { for (const item of arr) { if (Array.isArray(item)) { yield *flatten(item); } else { yield item; } } } const result = [...flatten([1,2,[3,

2020-08-07 17:55:10 286

原创 检测数组中出现最多次数的元素及次数

检测数组中出现最多次数的元素及次数有个Bug,如果刚好有两个或者两个以上的最多次数,这个只能找到第一次的 let arr1 = [1,2,2,3,4,5,6,6,7,7,7,7,7,7,7]; let arr2 = [1,2,2,2,3,3,4,7,7,4,3,3,1]; function getMaxAmount(data){ let obj = {}; data.forEach(val => { obj[val

2020-08-07 17:37:17 899

原创 Vue之axios 请求拦截 封装

utils >request.jsimport axios from 'axios';import { MessageBox, Message } from 'element-ui';import store from '@/store';import { getToken } from '@/utils/auth';// 创建一个 axios 实例const service = axios.create({ baseURL: process.env.VUE_APP_BASE_AP

2020-08-04 10:34:10 365

原创 Krpano 全景图简单制作

全景图制作图片要求 宽是高的2倍图航拍图 地埋图主思路添加热点主界面的场景跳转主界面与子界面间的跳转VTour Editor 操作:load tour.xml # 加载文件 tour.xmlSet as startup view # 设置为启动试图Add hotspot # 添加热点Edit hotspot # 编辑热点Edit tour.xml # 编辑 tour.xmlSave tour.xml # 保存 tour.xm

2020-08-04 10:32:36 1356

转载 JavaScript常用数组操作方法,包含ES6方法

1. concat()concat()方法用于连接两个或多个数组。该方法不会改变现有的数组,仅会返回被连接数组的一个副本var arr1 = [1,2,3];var arr2 = [4,5];var arr3 = arr1.concat(arr2);console.log(arr1); // [1,2,3]console.log(arr3); // [1,2,3,4,5]2. join()join()方法用于把数组中所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的,默认使用’,'号

2020-08-04 10:29:45 399

原创 element-ui上传图片小demo

以后再具体编辑文字。。。功能上传标题上传简单文本上传图片查询图片 图片回显等上传图片,需要转成base64格式图片回显,返回的图片url是一个字符串,如果是多张记得截取一下,存到一个数组里:file-list="fileList" ,返回的图片path 记得拼接端口号哦 ! https... + path下面是代码<!DOCTYPE html><html lang="en"><head> <meta c

2020-07-30 17:29:37 575

原创 深拷贝和浅拷贝之 Immutable

深拷贝是拷贝数据的值, 浅拷贝是拷贝数据的地址.值传递和引用传递.值传递: var a = 10; var b = a; b += 20 ; console.log(a,b) // 10 30引用传递: var arr = [10,20,30,40]; var newArr = arr; newArr[0] = 100; console.log(arr,newArr) ...

2020-03-25 18:57:00 507

原创 前端开发Vue之状态管理模式——Vuex

什么是vuex? vuex的作用?Vuex 简单来说就是全局状态管理, 当遇到多个组件共享状态时,多层组件的传值非常繁琐,不利于维护,因此把组件的共享状态抽取出来,以一个单例模式管理,这种模式下 不管在哪个组件都可以获取状态或触发行为. 如果需要构建一个中大型的项目,再使用vuex 如果简单直接使用父子传值 或非父子传值。Vuex中的 5个重要属性state : 辅助函数是 mapSta...

2020-03-01 20:55:25 460

空空如也

空空如也

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

TA关注的人

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