javascript,绑定页面退出监听事件
// 事件监听绑定 export const onEvents = (target, type, handler, option) => { if (target.addEventListener) { target.addEventListener(type, handler, option) } else if (target.on) { target.on(ty
// 事件监听绑定 export const onEvents = (target, type, handler, option) => { if (target.addEventListener) { target.addEventListener(type, handler, option) } else if (target.on) { target.on(ty
一、通用版const webpack = require('webpack') const TerserPlugin = require('terser-webpack-plugin') const CompressionPlugin = require('compression-webpack-plugin') const MiniCssExtractPlugin = require('mini
一、路由拦截篇与vue不同的是,nuxt需在plugins目录下创建router.js文件export default ({ app, store }) => { app.router.beforeEach((to, from, next) => { next() }) app.router.afterEach((to, from) => { })
结构树// tree数据结构 export default [ { code: "01", desc: "农、林", isOpen: false, hasParent: "N", children: [ { code: "0101",
// 消息提示队列 // 同时有多个api返回失败消息的时候,以队列方式依次显示,避免消息文字显示重叠 const toastQueue = { queue: [], instance: null, enq(message, options = null) { this.queue.push({ message, options }); this.next(); }
水印毫无疑问当然是canvas画图,全局水印 = 将canvas水印DOM定位挂载在document.body上,可以理解为在当前可视窗口最上方盖了一层层级较高的蒙版,这个蒙版就是水印// water-market.js// 水印内容较长可以设置can的width,height属性 // water-market.js // 水印内容较长可以设置can的width,height属性 const
vue-Router官方说明文档:vueRouterEncryption 项目地址:1 加密需要依赖 crypto-js 库,安装npm install crypto-js --save2 手动将github项目中的utils文件夹放入开发项目中3 修改utils/encryption.js中的baseCryptoCode,设置每个项目唯一的16位值4 router.js 引用import Vue
一、通常写法 const onButtonClick = (status)=>{ if (status == 1) { sendLog('processing') jumpTo('In
第一步:新建validatorRules.js,封装校验规则import { PUBLICREG } from '@/utils/redisEnum' const strategies = { isNotEmpty: function (value, typeName, errorMsg) { if (value === null || value === '' || value =
前言历史上,js没有模块化的概念,不能把一个大工程分解成很多小模块。这对于多人开发大型,复杂的项目形成了巨大的障碍,明显降低了开发效率,java,Python有import,甚至连css都有@import,但是令人费解的是js居然没有这方面的支持。es6出现之后才解决了这个问题,在这之前,各大社区也都出现了很多解决方法,比较出色的被大家广为流传的就有AMD, CMD, CommonJs, UMD,