自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 小程序多选按钮

<block wx:for="{{gd1List2}}"><button class="{{item.isChecked2?‘normal’:‘a2’}}" bindtap=‘getDemo2’ data-text="{{item.name}}" data-index=’{{index}}’>{{item.name}}<;/button></block>//jspage({data:{gd1List2: [{ name: “毛坯房”, isC

2021-12-31 14:39:28 598 1

原创 前端面试webpack

1、什么是webpack,与grunt和gulp有啥不同webpack是一个模块打包工具,在webpack里面一切皆模块  通过loader转换文件,通过plugin注入钩子,最后输出有多个模块组合成的文件  WebPack可以看做是模块打包机:它做的事情是,分析你的项目结构,找到Js模块以及其它的一些浏览器不能直接运行的拓展语言,并将其打包为合适的格式以供浏览器使用Gulp/Grunt是一种能够优化前端的开发流程的工具,而WebPack是一种模块化的解决方案,不过Webpack的优点使得在很多场景

2021-05-18 11:32:37 270

原创 canvas、svg

1.数据可视化初步1.1 什么是数据可视化:数据可视化,是关于数据视觉表现形式的科学技术研究数据可视化的理论基础:计算机图形学1.2 浏览器实现数据可视化架构:1.3 数据可视化基础核心技术1.3.1 canvas<canvas id="box" width="800" height="400"></canvas>1.注意:width和height最好canvas标签上添加,不要用css中的width,height2.如何绘制常用图形 第一步: 获取

2021-05-10 15:12:46 167

原创 csdn怎么删除文章

在上家公司,你为什么离职,请相信,百分之八十的面试官(要么是HR要么是技术负责人),或多或少都会问到的问题,如果问你这个问题,你该如何回答?1、因为上家公司不能办公室谈恋爱,我就离职了2、女生太少,找不到对象3、公司前端几个月见不到一个姑娘,害怕未来娶不到媳妇4、我是一心扑到事业上的男人,老板娘却经常约我去她家里做客吃饭,果断辞职...

2021-05-09 21:09:56 1181 3

原创 后台管理Echarts、时间线

1.查看物流进度主要用到了Element UI中的时间线组件代码如下:<!-- 显示时间线 --><el-timeline><el-timeline-itemv-for="(activity, index) in activities":key="index":timestamp="activity.time" >{{ activity.context }}</el-timeline-item></el-timeline&g

2021-05-07 15:54:43 592

原创 后台管理 富文本 深拷贝

1.添加商品-文件上传1.1 el-upload不走axios请求,el-upload自身封装了ajax请求1.2 文件上传配置请求头1.3 上传成功后返回的格式:{ "data": { "tmp_path": 图片的临时路径, "url":图片上传到服务器上的路径 }, "meta": { "msg": "上传成功", "status": 200 }}1.4 配置文件上传两个注意事项1.acti

2021-05-06 15:58:32 165 1

原创 vue原理面试题

前言本文分享 12 道 vue 高频原理面试题,覆盖了 vue 核心实现原理,其实一个框架的实现原理一篇文章是不可能说完的,希望通过这 12 道问题,让读者对自己的 Vue 掌握程度有一定的认识(B 数),从而弥补自己的不足,更好的掌握 Vue ❤️Vue 响应式原理核心实现类:Observer : 它的作用是给对象的属性添加 getter 和 setter,用于依赖收集和派发更新Dep : 用于收集当前响应式对象的依赖关系,每个响应式对象包括子对象都拥有一个 Dep 实例(里面 subs 是

2021-05-05 20:12:21 114

原创 webSocket

一、为什么你们项目组中使用WebSocket技术当我们在处理页面数据自动更新的时候,在使用js不断的请求服务器,查看是否有新数据,如果有就获取到新数据,进行对页面信息的跟新,但是当页面长时间没有更新数据时,这样就会存在资源浪费的情况,所以才会使用WebSocket来解决。二、UDP和TCP协议的概念TCP是事先为所发送的数据开辟出连接好的通道,然后再进行数据发送;而UDP则不为IP提供可靠性、流控或差错恢复功能。一般来说,TCP对应的是可靠性要求高的应用,而UDP对应的则是可靠性要求低、传输经济的应用

2021-05-05 20:01:24 83

原创 冒泡排序 、快速排序

快速排序与冒泡排序(面试题)今天讲一道前端开发的笔试题,题目如下: 编写快速排序和冒泡排序,并简单对比分析.看到题目愣了一下,知道冒泡排序,可什么是快速排序呢?下面先来看一下冒泡排序:方法一: 每一次对比相邻两个数据的大小,小的排在前面,如果前面的数据比后面的大就交换这两个数的位置复制代码       var arr = [90,0,-10,88,999,100,102,2,3,20]; function sortArr1(arr){ v

2021-04-29 22:03:23 99

原创 css预处理器

为什么会出现css预处理器–CSS不是一种编程语言,仅仅只能用来编写网站样式,在web初期时,网站的搭建还比较基础,所需要的样式往往也很简单。但是随着用户需求的增加以及网站技术的升级,css一成不变的写法也渐渐不再满足于项目。没有类似js这样的编程语言所有的变量,常量以及其他的编程语法,css的代码难免会显得臃肿以及难以维护。但是又没有css的替代品,于是css预处理器就作为css的扩展,出现在了前端技术中。2.常见的css预处理器–发展至今,CSS预处理器的技术已经相当成熟,也涌现出了很多中不同.

2021-04-29 21:32:08 119

原创 解决级联选择器cascader中的3问题

1.解决级联选择器cascader中的3问题1.1 可以选择cascader的任意级别template:<el-cascader :props="defaultProps"></el-cascader> JS->data defaultProps: { .... checkStrictly:true .... },1.2 隐藏小圆圈问题核心思路:通过css隐藏小圆圈,并扩大小圆圈的显示范围,然后设置visibilit

2021-04-28 16:21:17 973

原创 vue全局组件、vue-table-with-tree-grid、Cascader 级联选择器

1.vue全局组件Vue.component('组件名',组件实例)import ZkTable from 'vue-table-with-tree-grid'Vue.component('tree-table', ZkTable)import BreadCrumb from '@/components/breadcrumb'Vue.component('bread-crumb', BreadCrumb)2.vue-table-with-tree-grid使用及插件参数使用说明 1.

2021-04-27 21:55:30 273

原创 2021-04-27

单向绑定语法1.普通的属性的绑定是单向的。例如:解析:如果使用 this.setData({ value: ‘leaf’ }) 来更新 value ,this.data.value 和输入框的中显示的值都会被更新为leaf;但如果用户修改了输入框里的值,却不会改变 this.data.value。双向绑定语法对应属性前加入model:前缀:用户输入的同时改变 this.data.value局限性:与vue相比,暂不支持表达式形式,如下data: {a:{b:‘hello’}}

2021-04-27 08:17:20 56

原创 js将excel数据转化为数组的方法

这里是h5的方法 仅供参考12/* FileReader共有4种读取方法: 1.readAsArrayBuffer(file):将文件读取为ArrayBuffer。 2.readAsBinaryString(file):将文件读取为二进制字符串 3.readAsDataURL(file):将文件读取为Data URL 4.readAsText(file, [encoding]):将文件读取为文本,encoding缺省值

2021-04-23 20:13:06 1397

原创 vue解决跨域

在vue根目录下创建出vue.config.js写入如下代码以百度为例module.exports = {devServer: {proxy: ‘代理服务器地址’}}// 或者module.exports = {devServer: {proxy: {‘/api’: {target: ‘代理服务器地址’,ws: true // webscoketchangeOrigin: true}}}}在要发送前端请求的页面使用created() {// 对应第一种代理时的请求

2021-04-23 08:47:16 70

原创 后台管理api封装

1.完成登录功能1.1 表单重置第一步:给表单添加ref <el-form ref="loginForm"></el-form> 第二步:给重置按钮添加事件,调用重置方法 //重置表单 resetForm() { this.$refs.loginForm.resetFields() }1.2 表单预检验 //用户登录 loginIn() { //对表单对整体合法性检验 this

2021-04-21 22:00:30 188

原创 vue后台管理项目起步

1.Vue全家桶vue.js,vue-router,vuex,axios,ES6,Sass/less/Stylus,…vue.js:computed,过滤器,自定义指令,绑事件(@事件名),绑属性(:属性名),组件通讯(3种)…vue-router:路由传参,路由守卫,嵌套路由,动态路由,路由懒加载…vuex:集中管理组件状态,5个要素:state,mutation,action,modules,gettersaxios:数据请求官网文档:https://github.com

2021-04-20 21:49:58 420

原创 js函数、同步异步操作

一、函数的定义方式函数声明:function 函数名() { //...}特点:无论在函数定义前,还是函数定义后调用,都能执行为什么都能执行???因为函数声明方式:函数提升2.函数表达式var 变量名=function() { //....}变量名()特点:只能在函数定义后调用,才能执行二、this指向在全局调用函数,函数中的this指向windowfunction fn() { //this === window}详细this指向会有专门

2021-04-15 22:00:23 1109

原创 小程序的登录授权

小程序的登录授权登录授权流程项目中的实现思路点击进入店铺--进入首页--获取到token,uid 如何获取token 第一步:通过wx.login得到code,调用接口获取登录凭证(code)。通过凭证进而换取用户登录态信息 第二步:通过调用公司后台接口(自动注册/登录接口)获取腾讯用户的匿名信息 //引入接口const {authorize}=require('../../http/api') //登录/注册 goLogin() { wx.login({

2021-04-14 22:08:26 123

原创 微信小程序上拉加载

产品角度:提升用户体验技术角度:后台接口支持分页返台接口:{page:当前页码,pageSize:每页显示几条,start:起始偏移量}实现方式:使用onReachBottom实现 //触底生命周期 onReachBottom() { console.log('onReachBottom'); if(!this.data.flag) { this.data.page++; this.getGoods() } } //加载商品..

2021-04-13 22:02:24 69

原创 小程序的组件使用及组件传参

一、小程序组件复用组件是什么组件:具有完整功能(html-视图,css-样式,js-逻辑),并且独立运行的模块插件:通常是为了完成某项具体的业务功能而开发的js文件 例如:swiper.js,弹框.js,。。。。类库:library,是提供了为了完成项目的工具方法的集合,跟具体的业务无关! 例如:jQuery,lodash.js框架:framework,分 是为了快速完成项目搭建的基础。框架分:UI 框架和javaScript框架 UI框架:boostStrap,Element UI,v

2021-04-12 21:21:03 246

原创 微信小程序路由及布局

JS模式路由类似于Vue中的编程式导航 例如:this.$router.push()wx.navigateTo({ url: '/pages/jd_market/jd_market', })wx.switchTab({ url: `/pages/shopping/shopping`,})wx.reLaunch({ url: 'url',})

2021-04-07 21:52:19 258

原创 微信小程序的开发

一、微信小程序是什么微信小程序是一种不需要下载安装即可使用的应用微信小是2017年1月9日,张小龙在2017微信公开课Pro上发布的微信小程序正式上线。二、微信小程序商业价值依托微信,有强大广泛的用户基础,推广方便不用安装,即点即用,不用关闭,不占手机内存空间三、微信小程序和普通H5的区别微信小程序没有DOM,BOM的API,只能使用EcmaScript核心 部分(数组,字符串方法,for,if…)微信小程序js逻辑和视图处理是分开独立运行的,性能比较好,而普通H5是单线程的,容易

2021-04-06 21:54:46 76

原创 vue 组件之间传值

创建一个子组件 Vue.component('组件的标签',{ template: '模板内容' }) // 例如 定义一个子组件 Vue.component('child',{ template: '<div></div>' }) // 定义一个父组件 将子组件在父组件中使用 Vue.component('parent',{ template: `<div>

2021-04-04 14:45:47 82

原创 vue 指令

总结v-textv-text是一个渲染文本的指令 不能解析标签 会把标签当成字符串渲染在页面上v-htmlv-html 也是一个渲染内容的指令 但是v-html会解析标签 标签不在页面上显示v-showv-show 是一个控制元素显示隐藏的指令 他是通过css样式(display:none)控制dom的显示隐藏v-ifv-if 也是一个控制元素显示隐藏的指令 但是v-if本质上控制的是 dom的删除和增加 意思就是v-if的值如果是false则会从文档中直接删除domv-else-ifv

2021-04-04 14:38:48 38

原创 vue路由详解

总结路由分为 编程式路由和声明式路由定义路由对象const router = new VueRouter({ routes:[ { path: '/', name: '', // redirect: '/index', 路由重定向的位置(意思就是要把页面定向到哪一个页面) redirect: { // 可以是下面五种跳转方法中的任何一种方式

2021-04-04 14:36:02 150

原创 vue 注册全局组件

1、在components文件夹下新建package文件夹 (文件夹可以随意命名),然后在package文件夹下创建index.js在index.js中写入如下代码 import Vue from ‘vue’ // 引入vue// 第一个参数表示从哪个文件夹开始匹配 这里表示从当前文件夹开始// 第二个参数表示是否匹配子文件夹中的内容// 第三个参数表示要匹配的文件的类型 这里匹配vue文件const componentsContext = require.context(’.’, true,

2021-04-04 14:30:01 68

原创 vue push方法重写解决路由错误问题

vue重写路由push方法/**重写路由的push方法解决,相同路由跳转时,报错添加,相同路由跳转时,触发watch (仅限string方式传参,形如"view?id=5")*/const routerPush = Router.prototype.pushRouter.prototype.push = function push(location) { if(typeof(location)=="string"){ var Separator = "&"; if(

2021-04-04 14:26:17 225

原创 vue配置rem

export default function() { // 7.5根据设计稿的横向分辨率/100得来 var deviceWidth = document.documentElement.clientWidth; // var deviceWidth = window.screen.availWidth // console.log(navigator.userAgent) // console.log(deviceWidth) // console.log

2021-04-04 14:24:17 57

原创 动态设置rem

动态配置rem其实就是在窗口大小改变时重新设置rem的值(function(doc, win) {var docEl = doc.documentElement,resizeEvt = “orientationchange” in window ? “orientationchange” : “resize”,recalc = function() {if (docEl.clientWidth > 750) {docEl.style.fontSize = “100px”;doc.getE

2021-04-04 14:17:01 100

原创 常见的错误码

1**:请求收到,继续处理2**:操作成功收到,分析、接受3**:完成此请求必须进一步处理4**:请求包含一个错误语法或不能完成5**:服务器执行一个完全有效请求失败100——客户必须继续发出请求101——客户要求服务器根据请求转换HTTP协议版本200——交易成功201——提示知道新文件的URL202——接受和处理、但处理未完成203——返回信息不确定或不完整204——请求收到,但返回信息为空205——服务器完成了请求,用户代理必须复位当前已经浏览过的文件206——服务器已经完成

2021-04-04 14:16:03 203

原创 Ajax优缺点

ajax的概念:相当于在客户端与服务端之间加了一个抽象层(Ajax引擎),使用户请求和服务器响应异步化,并不是所有的请求都提交给服务器,像一些数据验证和数据处理都交给Ajax引擎来完成,只有确认需要向服务器读取新数据时才右Ajax引擎向服务器提交请求。ajax的优点:1.无刷新更新数据Ajax最大的优点就是能在不刷新整个页面的情况下维持与服务器通信2.异步与服务器通信使用异步的方式与服务器通信,不打断用户的操作3.前端与后端负载均衡将一些后端的工作移到前端,减少服务器与带宽的负担4.基于

2021-04-04 14:14:28 122

原创 ES6新增特性

1.let和const:let和var的区别:(1)看是否有变量提升var有变量提升,let没有(2)看是否有块级作用域(3)看是否能够重复定义2.解构赋值import {mapAction,mapGetters} from ‘vuex’//数组解构赋值let arr=[‘hello’,‘vue.js’,‘React’,‘微信小程序’]let [one,two,three]=arr;// console.log(one)// console.log(three)//对象解构let

2021-04-04 14:06:35 61

原创 git的常用指令及基础操作

git的常用指令及基础操作git如何使用:安装git客户端(windows,mac,…)https://gitforwindows.org/git常用命令:初始化git:git init查看当前git文件状态:git status添加文件到暂存区:git add 文件名1提交到本地仓库:git commit -m ‘版本说明’添加可忽略文件:.gitignore提交到远程仓库(1)git远程仓库(也称代码托管平台):github,码云,gitLab(2)提交远程的步骤:第一步:创

2021-04-01 20:37:40 87

空空如也

空空如也

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

TA关注的人

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