自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 前端调取后端接口

VVue如何调取后端的接口 只是简单使用

2023-03-01 10:27:27 1120

原创 this.$router.push的query传参与接收

单纯跳转this.$router.push(''你要跳转的路径'') 与 <router-link>相似带参数this.$router.push({path:"你要跳转的路径",query:{你要携带的参数}})在你跳转之后的页面进行获取(在created或者mouted里面进行获取)this.$route.query(你跳转的时候携带的参数)千万要记住传的时候是$router获取的时候是$route,一个字母的差距 ...

2021-10-11 00:40:28 1467

原创 下拉框的字符串和code码的转换

怎么说呢!字符串和code码的来回转换搞得我头大 网上文章说真的翻来翻去每看见一个有用的 或许应为太简单没人发吧就比如这样的一个表格 页面的添加和修改全是跳转到另一个页面添加的时候 合同分类、工区、乙方全是下拉框 用的element-ui的表单 后端让传code码 虽然可以获取到code码 返回的也是字符串 (这个我感觉没毛病)但是提交审核的时候 又让我传code码真的吐了 我以为获取单行的数据就行了我上网了搜了很多方法 真的是又...

2021-10-08 23:02:38 372

原创 V-model双向数据绑定

v-model本质上是 :value和v-on的结合体,就是绑定他的value,通过v-on触发,从而更新数据双向绑定得的实现主要依赖于Object.defineProperty(),通过这个函数可以监听到get,set事件

2021-06-03 00:42:24 514

原创 存储(localStorage/sessionStorage/Cookie)

在HTML5中,新加入了一个localStorage/sessionStorage特性,这个特性主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题(cookie中每条cookie的存储空间为4k),localStorage中一般浏览器支持的是5M大小。本地存储分为cookie、localStorage、sessionStorage,CookieCookie设计初衷是用来和服务器通讯,而不是本地存储,他只是被‘借用’到本地存储。Cookie有一些缺点:存储空间小,最大4k、

2021-06-03 00:33:02 138

原创 ES6 新增特性有那些?

ES6新增了许多新特性,不是因为面试经常会问才需要会它,个人认为里面的许多方法特别简单下面是我整理的一些比较常用的新增特性一、新增数据类型Symbol猿话:Symbol-ES6神奇的数据类型​zhuanlan.zhihu.com1.特性Symbol()函数,返回一个symbol类型的值,该类型具有静态属性和静态方法。 每个Symbol()返回的symbol值都是唯一的,这是该数据类型仅有的目的,可以作为对象属性的标识符使用 Symbol()存在原型链Symbol.prototype

2021-06-03 00:30:06 442

原创 VueX简单理解

1.vuex :是一个专为vue.js开发的状态管理器,采用集中式存储的所有组件状态,通过vuex我们可以解决组件之间数据共享的问题,后期也方便我们管理以及维护​有五个属性分别是: state、getters、mutations、actions、modulestate属性: 存放状态,例如你要存放的数据getters: 类似于共享属性,可以通过this.$store.getters来获取存放在state里面的数据mutations: 唯一能改变state的状态就是通过提交mutations来改变,thi.

2021-06-03 00:22:48 130

原创 vue项目后台给登录页面如何接入?一个接口+Vue-Router+Vuex简简单单实现登录

有时候急着学更多新知识会把最基础的遗忘,以前使用PHP那会还知道表单序列化,最近通过form获取里面所有name属性对应的控件值却把document.getElementById('表单Id').serializeArray()给遗忘了,通过遍历name属性去获取表单控件值-----勿忘初心需求:之前项目大都是后台进行最后的登录接入,现在用了vue需要前端自己通过实现登录页面,以博客登录为例,登录前界面如下:进入首页头部如下点击登陆进入后台给的链接登录页(注意这里是后台给了登陆页面不是前端自己制

2021-06-02 01:19:36 757

转载 防抖与节流

在前端开发的过程中,我们经常会需要绑定一些持续触发的事件,如 resize、scroll、mousemove 等等,但有些时候我们并不希望在事件持续触发的过程中那么频繁地去执行函数。通常这种情况下我们怎么去解决的呢?一般来讲,防抖和节流是比较好的解决方案。让我们先来看看在事件持续触发的过程中频繁执行函数是怎样的一种情况。html 文件中代码如下<div id="content" style="height:150px;line-height:150px;text-align:cent

2021-05-30 21:32:03 98

原创 Vue的首屏加载优化

单页面应用的一个问题就是首页加载东西过多,加载时间过长。特别在移动端,单页面应用的首屏加载优化更第一步:webpack-bundle-analyzer 分析是绕不开的话题。接下来我会在以下几个方面为大家进行分析...

2021-05-30 21:27:03 483

原创 Vue中computed和watch使用场景,以及可以实现的功能

watch和computed各自处理的数据关系场景不同:1. watch擅长处理的场景:一个数据影响多个数据2. computed擅长处理的场景:一个数据受多个数据影响computed 和 methods相比,computed有缓存,性能开销小,何谓computed缓存呢?在改变number(任一跟computed中不相关的数据)时,整个应用会重新渲染,如果使用的是getName ()方法,则这个方法会被重复调用而computed不会重新计算,只有依赖的值有变化时(该案例中,..

2021-05-30 20:55:17 677

原创 vue中data为什么必须是个函数?

vue中data必须是函数是为了保证组件的独立性和可复用性,data是一个函数,组件实例化的时候这个函数将会被调用,返回一个对象,计算机会给这个对象分配一个内存地址,你实例化几次,就分配几个内存地址,他们的地址都不一样,所以每个组件中的数据不会相互干扰,改变其中一个组件的状态,其它组件不变。...

2021-05-30 20:42:26 5178

原创 webpack搭建vue项目步骤详解

第一步执行npm init 命令 初始化出package.json文件 { "name": "demo1", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "licen...

2021-05-19 19:41:43 272

原创 构造函数

概念:严格来说js并不是一门面对对象的语言,通过构造函数可以像其他语言一样实现面对对象的过程,构造函数就是js实现面对对象的一种方式new关键字的作用声明了一个空对象调用了构造函数,使构造函数内部的this指向了实例化对象使函数的原型对象指向了构造函数将属性和值赋值给了声明的对象在函数中默认返回了实例化对象原型概念原型是一个对象,只是对象可以通过原型继承另一个对像的属性和方法每一个函数声明时,都会自动生成一个对象prototype,prototype通过constructor指针指向了

2021-05-19 19:39:29 50

原创 对象根据key排序的方法

无意间获取大一组城市的数据 数据本身是一个对象 但是key是由A~Z的字母组成的 但是呢 字母的顺序是错乱的 所以数据无法直接渲染 需要根据对象的属性对对象进行排序,于是有了这次的果,话不多说 上代码// 这是我获取到的数据的大概类型 因为数据太多 不做全部的演示了var citys = { "E": [ {"name": "厄瓜多尔"}], "A": [ {"name": "安阳"}], "R": [ {"name": "日照"}]}// 接下来是排序的代码123...

2021-05-19 19:33:46 655

原创 js冒泡排序的四种方法

更新个基础知识比较简单 仅供参考 //参考排序的数组 var arr = [3, 2, 5, 1, 4]12第一种这种方法冒泡排序比较相邻的两个元素,如果前一个比后一个大,则交换位置。第一轮把最大的元素放到了最后面。由于每次排序最后一个都是最大的,所以之后按照步骤1排序最后一个元素不用比function arr_sort(data) { var temp for(var i = 0; i<data.length-1;i++) { fo...

2021-05-18 15:06:06 384 2

原创 js加减乘除精确运算方法

因为计算机数字是浮点型,所以在计算过程中通常得到的并不是一个准确的数据,所以在做一些数组运算的时候比较头疼,我们这里就来写一下精确运算的方法首先是加法 (这里以两个数据相加为例)function add(arg1, arg2) { arg1 = arg1.toString(), arg2 = arg2.toString(); // 将传入的数据转化为字符串 var arg1Arr = arg1.split("."), // 将小数的数据从小数点的位置拆开 arg...

2021-05-18 15:04:58 308

原创 js将表格数据导出为excel数据

function ToExcel(){ //要导出的json数据 var jsonData = [ { name:'张三', id:'621' }, { name:'李四', id:'622' }, { name:'王五', id:'623' }, { name:'赵刘', id:'624' } ] //导出前要将json转成table格式...

2021-05-18 15:02:18 161

原创 js将表格数据导出为excel数据

function ToExcel(){ //要导出的json数据 var jsonData = [ { name:'张三', id:'621' }, { name:'李四', id:'622' }, { name:'王五', id:'623' }, { name:'赵刘', id:'624' } ] //导出前要将json转成table格式...

2021-05-18 15:00:51 273

原创 递归深复制对象

话不多说直接上代码了<script> var obj = { // 定义要进行深复制的对象 name: "张三", age: 14, tel: 110, info: { isSingle: true } } // 定义深复制的函数 function deepClone(param...

2021-05-18 14:52:51 50

原创 一篇关于vue-cli3打包优化的文章

在开发过程中vue项目打包是需要做一些性能优化的,这里写了关于我知道的要做的优化的部分,废话不多说直接上代码了,仅供参考 欢迎提出意见const UglifyJsPlugin = require('uglifyjs-webpack-plugin')const path = require('path')// 开启Gzip需要的依赖 yarn add compression-webpack-plugin -Dconst CompressionWebpackPlugin = require('compr

2021-05-18 14:51:46 55

原创 ajax的优缺点

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

2021-05-18 14:47:58 58

原创 史上最全正则

很多不太懂正则的朋友,在遇到需要用正则校验数据时,往往是在网上去找很久,结果找来的还是不很符合要求。所以我最近把开发中常用的一些正则表达式整理了一下,在这里分享一下。给自己留个底,也给朋友们做个参考。一、校验数字的表达式// 1. 数字:^[0-9]*$// 2. n位的数字:^\d{n}$// 3. 至少n位的数字:^\d{n,}$// 4. m-n位的数字:^\d{m,n}$// 5. 零和非零开头的数字:^(0|[1-9][0-9]*)$// 6. 非零开头的最多带两位小

2021-05-18 14:46:23 57

原创 全局css默认样式的清除

html, body, div, span, applet, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,a, abbr, acronym, address, big, cite, code,del, dfn, em, img, ins, kbd, q, s, samp,small, strike, strong, sub, sup, tt, var,b, u, i, center,dl, dt, dd, ol, ul, l

2021-05-18 14:35:12 710

原创 vue注册全局组件的方法

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

2021-05-18 14:33:11 118

空空如也

空空如也

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

TA关注的人

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