
JavaScript
YoloAva
这个作者很懒,什么都没留下…
展开
-
JS 简单的数组去重方法
//1.new Setvar arr1 = [1,2,3,2,4,1]console.log(Array.from(new Set(arr1)))console.log([...new Set(arr1)])//封装成函数var arr1 = [1,2,3,2,4,1]function unique(arr){ return [...new Set(arr)]}console.log(unique(arr1))//2.indexOfvar arr2 = [1,2,3,2,4,1].原创 2022-01-11 21:43:12 · 151 阅读 · 0 评论 -
Uni-app 手机号+验证码登录 & 用户名密码登录登出
mine.vue > mine (tab页) 在此页面点击登陆跳转到login.vue<template> <view class="mine"> <u-navbar :is-back="false" :background="background" :border-bottom="false"> <view slot="right"> <view class="right-content">原创 2022-01-05 17:09:15 · 6344 阅读 · 3 评论 -
Uni-app 实现历史搜索和热门搜索 unshift和splice方法
<template> <view class="search"> <u-navbar> <view slot="default"> <view class="nav-center"> <u-search v-model="keyword" placeholder="Vue" :show-action="true" action-text="取消" :clearabled="fals.原创 2022-01-04 11:26:09 · 1793 阅读 · 0 评论 -
Vue + Js 处理时间格式
原本的时间格式如:Wed Jan 19 2022 00:00:00 GMT+0800 (中国标准时间)改为:2022-1-19代码:addUser(){ this.form.birthday = this.setTime(this.form.birthday);//调用 console.log(this.form.birthday);//Wed Jan 19 2022 00:00:00 GMT+0800 (中国标准时间) =》 2022...原创 2022-01-03 16:06:53 · 754 阅读 · 0 评论 -
Vue + 项目优化 路由懒加载(含路由守卫代码)
当打包构建项目时,JavaScript 包会变得非常大,影响页面加载。如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就更加高效了。1 安装 @babel/plugin-syntax-dynamic-import 包2 在 babel.config.js 配置文件中声明该插件。//这是项目发布阶段需要用到的babel插件const prodPlugins = []if (process.env.NODE_ENV === 'prod...原创 2021-12-27 19:02:39 · 286 阅读 · 0 评论 -
Vue + 项目优化 通过externals加载外部CDN资源
问题:生成打包报告时,终端vue ui指令,通过可视化UI面板查看报告,在可视化的UI面板中,通过控制台和分析面板,看到项目中所存在的问题echarts,element-ui,quill等依赖项所占体积太大 控制台中显示,第三方依赖项占项目总资源的90%体积;速度统计面板,不同网络状态下,项目打开所消耗的时间都比较长;chunk-vendor.js文件占了1.9MB ,需要缩小这个文件的大小原因:默认情况下,通过import语法导入的第三方依赖包,最终会被打包...原创 2021-12-27 18:28:36 · 559 阅读 · 0 评论 -
Vue + 项目优化 为开发模式与生产模式指定不同的打包入口
默认情况下,vue项目的开发模式和生产模式共用一个打包的入口文件——src/main.js,为了将项目的开发过程与生产过程分离,我们可以分为两种模式,各自指定打包的入口文件:main-dev.js和main-prod.js,将src/main.js重命名为main-dev.js,并复制一份main-prod.js 在vue.config.js中通过chainWebpack节点自定义打包入口module.exports = { lintOnSave: false, chainWebpack: c原创 2021-12-27 18:02:36 · 719 阅读 · 0 评论 -
Vue + 项目优化 build阶段使用babel插件将console.log相关代码移除
官网:babel-plugin-transform-remove-console - npm1. npm install babel-plugin-transform-remove-console --save-dev2. 根目录下babel.config.js >module.exports = { presets: [ '@vue/cli-plugin-babel/preset' ], plugins: [ [ 'component',原创 2021-12-27 17:04:39 · 392 阅读 · 0 评论 -
Vue + element-ui 实现table表格分页
<!-- --><template> <div> <!-- 面包屑导航区域 --> <el-breadcrumb separator-class="el-icon-arrow-right"> <el-breadcrumb-item :to="{ path: '/home' }">首页</el-breadcrumb-item> <el-breadcrumb-item>.原创 2021-12-27 12:52:19 · 378 阅读 · 0 评论 -
JS Vue项目中字符串转数组、数组转字符串
1.字符串转数组const res = await api.getManyParams(this.cateId, 'many')if (res.meta.status !== 200) { return this.$message.error('获取动态参数列表失败')}res.data.forEach( item => {//将后端每一项的字符串用空格分开变成数组 item.attr_vals = item.attr_vals.length === 0 ? [] : it原创 2021-12-26 18:34:57 · 4602 阅读 · 0 评论 -
Vue + element-ui 上传、移除、预览图片
注意:每次上传图片,都需要为上传的UI组件手动指定headers请求头,同时在请求头对象中绑定authorization字段,因为上传组件并没有调用axios,所以我们需要手动指定headers去获取tokenadd.vue ><!-- --><template> <div> <!-- 面包屑导航区域 --> <!-- 卡片视图区域 --> <el-card> <!--.原创 2021-12-26 17:58:08 · 1216 阅读 · 0 评论 -
Vue 定义一个格式化时间的过滤器 在element-ui中使用
main.js >import Vue from 'vue'import App from './App.vue'import router from './router'import './plugins/element.js'//导入全局样式表import './assets/css/global.css'//导入字体图标import './assets/fonts/iconfont.css'import TreeTable from 'vue-table-with-tre.原创 2021-12-26 12:12:05 · 355 阅读 · 0 评论 -
React antd—current.validateFields实现登录表单校验
import React from 'react'import { Card, Form, Input, Button, message, Checkbox } from 'antd'import { UserOutlined, LockOutlined } from '@ant-design/icons';export default function FormLogin(props) { //获取表单节点 const formRef = React.createRef() //校验.原创 2021-12-10 13:02:03 · 2106 阅读 · 0 评论 -
React newDate实现实时时间显示
src > components > header > index.jsimport React, { useState, useEffect } from 'react'import './index.less'import { Row, Col } from 'antd';import { Util } from '../../utils/utils';export default function Header() { const [showTime, setSh原创 2021-12-09 17:26:17 · 2212 阅读 · 0 评论 -
Vue filter+indexOf 实现input框模糊查询&多条件查询
代码: <div class="history-search"> <span class="s-span">病历信息搜索 </span> <!-- 改变input框的值触发的事件 --> <el-input class="input-input" v-model="searchVal" @input="inputChange" ><i c原创 2021-11-05 22:10:55 · 2181 阅读 · 0 评论 -
JS for-in和for-of的区别
for-in实例:let arr = [1, 2, 3, 4, 5]Array.prototype.id = 123arr.name = 'Jessica'for (let index in arr) { if (index == 2) { // break;//0,1 // continue;//0,1,3,4 // return;//0,1 } console.log(index, arr[index]);//遍历[1,2,3,4,5,Jessica,123]}for-of原创 2021-10-25 23:06:43 · 16550 阅读 · 0 评论 -
JS 最简单最实用的数组去重方法
js数组去重是比较常见的数组操作方式之一,网上有很多关于数组去重的博客文章,方法各式各样,但有些方法实用性很差,很容易造成不必要的麻烦,所以我们需要去其糟粕取其精华,下面我们就整理一些比较实用的数组去重方法。一、for循环嵌套,利用splice去重此方法是比较常用的方法之一,也是es5中比较实用的方法之一。function newArr(arr){ for(let i=0;i<arr.length;i++){ for(var j=i+1;j<arr.lengt转载 2021-10-23 19:29:34 · 479 阅读 · 0 评论 -
JS forEach和map的区别与共同之处
共同点:1.都是循环遍历数组的每一项,数组中有几项,那么传递进去的匿名函数就要执行几次2.forEach()和map()里面每一次执行匿名函数都支持3个参数:数组中的当前项、当前项的索引、原始数据3.匿名函数中的this都指向window4.只能遍历数组不同点:1.总的来说,map的速度大于forEach2.map会返回一个新的数组,不会改变原来的数组;forEach不会返回新数组,允许对原数组进行修改//1.forEach()不会返回新数组。仅仅是遍历数组中的每一项,可以通过数组的索原创 2021-10-23 19:04:39 · 200 阅读 · 0 评论 -
JS 如何获取对象自身属性而非原型链上的属性
使用hasOwnProperty()方法来判断属性是否为对象自身属性function iterate(obj) { let result = []; for (let key in obj) { //for in遍历obj属性 if (obj.hasOwnProperty(key)) { //判断是否为对象自身属性 result.push(key + ':' + obj[key])原创 2021-10-28 22:29:38 · 1364 阅读 · 0 评论 -
JS 数组中的forEach、map、filter、find四个方法的使用方法和案例总结
1. forEach() :主要用于循环遍历数组,forEach不会返回新数组,允许对原数组进行修改。2. map() : 主要用于循环遍历数组,也可在内使用条件语句,map会返回一个新数组,不会改变原来的数组。3.filter() :主要用于筛选过滤数组,返回符合筛选条件的数据,filter会返回一个新数组,不会改变原数组。4. find() :主要用于查找数组的数据,只要查找到第一项符合条件的数据,直接返回,若没有找到符合条件的数据返回undefined。find会返回一个新数组,不会改变.原创 2021-11-28 18:13:30 · 2804 阅读 · 0 评论