vue 学习
我是逗逼
这个作者很懒,什么都没留下…
展开
-
数据交换之中介者模式
export default class DataMediator { constructor() { this.store = new Map(); } notify(sender, event, data = undefined) { let res; if (sender && event) { switch (event) { case 'get': res = this.get(sender);原创 2021-11-04 11:50:38 · 162 阅读 · 0 评论 -
对象类型深层次属性的获取并且能够自定义空状态的返回值
function switchEmpty(caseValue) { let resValue; switch (caseValue) { case 'undefined': resValue = undefined; break; case 'null': resValue = null; break; case 'number': resValue = 0; break; case 'ob原创 2021-11-04 11:37:21 · 180 阅读 · 0 评论 -
vue 中引用类型数据 watch 监听失效 问题 解决方案
<template> <div> <VueDeepWatch :objectValue="objectValue" :arrayValue="arrayValue" /> </div></template><script>import VueDeepWatch from '@/components/vueDeepWatch.vue'export default { data () { return {原创 2021-11-04 11:33:38 · 607 阅读 · 0 评论 -
从模板编译到虚拟dom
将html字符串转换为AST(parseHtmlToAst.js)const unicodeRegExp = /a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/;const attribute = /^\s*([^\s"'<>\/=原创 2021-07-30 16:07:46 · 308 阅读 · 0 评论 -
excel.js实践(2021-6-25)
import * as ExcelJs from 'exceljs/dist/exceljs';export function jsonToExcel(data) { const tableName = "表名称"; const borderStyle = { top: { style: 'thin' }, left: { style: 'thin' }, bottom: { style: 'thin' }, right: { style: 'thin' }原创 2021-06-25 16:32:00 · 2479 阅读 · 0 评论 -
字符串特殊字符加反斜杠(2021-5-26)
stripscript(s) { const str = "[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*();—|{}【】‘;:”“'。,、?]"; const pattern = new RegExp(str); let rs = ''; Array.from(s).forEach((char) => { rs += char.replace(pattern, `\\${原创 2021-05-26 17:31:35 · 804 阅读 · 0 评论 -
基于vuex 的全局组件通信(2021-5-25)
store/index.jsimport Vue from "vue";import Vuex from "vuex";import testModule from "./modules/test";Vue.use(Vuex);export default new Vuex.Store({ state: { user: { name: "", other: undefined }, test: { testInfo: ""原创 2021-05-25 11:56:13 · 157 阅读 · 0 评论 -
vuetify上传图片组件封装(2021-5-24)
<template> <div> <div class="d-flex flex-wrap "> <div v-for="(item, key) in imgList" :key="key" class="ma-2"> <v-sheet color="white" elevation="1" width="200" :height="showAdd ? 240 : 200"> <v-原创 2021-05-25 11:55:14 · 1183 阅读 · 1 评论 -
node express 使用 Sequelize 操作数据库(2021-5-23)
mysql 链接配置文件const conf = { database: 'node', user: 'root', password: 'xxxxx', options: { host: 'rm-2vcnsje1qrd9c966ago.mysql.cn-chengdu.rds.aliyuncs.com', dialect: 'mysql', define: { charset: 'utf8mb4', dialectOptions: {.原创 2021-05-23 22:08:01 · 431 阅读 · 1 评论 -
node express使用 express-auto-routes 管理路由(2021-5-23)
----app.js// auto-routes配置const autoRoutes = require('express-auto-routes')(app);autoRoutes(path.join(__dirname, './routes'));----模型(位于route目录下)exports.get = async function get(req, res, next) { // const token = req.headers['t-data'] // console.原创 2021-05-23 22:06:42 · 265 阅读 · 0 评论 -
node express使用 cors 实现跨域 (2021-5-23)
参考:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/CORS// **** 跨域 *(废弃)***// app.all('*', function (req, res, next) {// res.header("Access-Control-Allow-Origin", "*");// res.header("Access-Control-Allow-Headers", "X-Requested-With, t-data");//原创 2021-05-23 22:05:30 · 236 阅读 · 1 评论 -
2020-5-17(eventBus ----vue)
局部1. 初始化 --单文件初始化 // event-bus.js import Vue from 'vue' export const EventBus = new Vue()2. 引用(单文件) import { EventBus } from "{path}/event-bus.js";3. 方法 // 发送消息 EventBus.$emit("aMsg", '') // 监听接收消息 EventBus.$on("aMsg", (msg) =&g..原创 2021-05-20 11:35:02 · 80 阅读 · 0 评论 -
2021-5-20 (代码规范)
代码规范VScode配置 (适用于airbnb-base){ "editor.quickSuggestions": { //开启自动显示建议 "other": true, "comments": true, "strings": true }, // vscode默认启用了根据文件类型自动设置tabsize的选项 "editor.detectIndentation": false, // 重新设定tabsize,一个tab=2个空格 "editor原创 2021-05-20 11:31:18 · 152 阅读 · 0 评论 -
2021-5-13
js引用对象深度复制 /** * alias: 传入的引用对象 * return: 深度复制后的引用对象 */function aliasObjDeepCopy(alias = undefined) { if (Array.isArray(alias)) { return [...alias]; } if (alias.constructor === Object) { return JSON.parse(JSON.stri原创 2021-05-13 18:21:18 · 79 阅读 · 0 评论 -
按钮原子化操作数据刷新方法
/** * @param {array} arr 被改变的数组 * @param {object} item 对象数据项 * @param {array} paramName 用于筛选的具有唯一标识的参数名称 * @param {*} param 用于筛选的具有唯一标识的参数 * @param {String} type 可供操作的类型,有 "add","up","del" * @returns {array} 重构后的数据 */const refreshData = functi原创 2021-05-11 17:29:54 · 100 阅读 · 0 评论 -
ubuntu 云服务器 部署node express 持续化集成docker镜像且开放外网访问 -2021-5-2
使用expresss创建后台框架npm install express --save npm install -g express-generator express my-backed-----配置外网访问-----项目目录/bin/www/文件:server.listen(port);改为:server.listen(port, '0.0.0.0');将代码放入gitee(github)持续集成(以下3个文件相互耦合)docker 镜像构筑文件 node..原创 2021-05-02 16:06:14 · 219 阅读 · 0 评论 -
2021-4-28 -深层对象(数组)值获取
深层对象(数组)值获取function getDeepDataFromArrOrObj(data, directArr = []) { if (directArr.length === 0) { return data; } const name = directArr.shift(); if (!data[name]) { return name + "子项不存在"; } if (Array.isArray(data[name]) || data[name].co原创 2021-04-30 16:13:55 · 337 阅读 · 0 评论 -
2021-4-30 -ES6
对象----prototype对象Object.setPrototypeOf(object, prototype) 设置一个对象的prototype(原型)对象Object.getPrototypeOf(obj) 用于读取一个对象的prototype对象----获取该属性的描述对象let obj = { foo: 123 };Object.getOwnPropertyDescriptor(obj, 'foo')--enumerable属性,称为”可枚举性“,如果该属性为false,就表示某些原创 2021-04-30 16:12:19 · 76 阅读 · 0 评论 -
2021-4-28
特殊字符转正常字符 clearRegExp(s) { var pattern = new RegExp( "[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?]" ); var rs = ""; for (var i = 0; i < s.length; i++) { rs = rs + s.substr原创 2021-04-28 17:52:57 · 119 阅读 · 0 评论 -
2021-4-27
exceljs 使用记录安装官方文档传送门npm install exceljs --save引用import * as ExcelJs from 'exceljs/dist/exceljs';初始化工作表const workbook = new ExcelJs.Workbook(); //创建工作簿workbook.created = new Date(); //设置工作簿创建时间workbook.modified = new Date(); //设置工作簿修改时间w原创 2021-04-27 16:20:54 · 127 阅读 · 0 评论 -
2021.4.22
父子组件间的数据传递及方法调用父组件通过ref使用子组件的方法并修改子组件数据子组件通过.$parent使用父组件的方法动态修改父组件信息子组件通过watch监听父组件数据变化parent.vue<template> <div class="container"> <input v-model="childrenValue" placeholder="edit me" @change="changeChildData原创 2021-04-23 18:00:11 · 92 阅读 · 0 评论 -
Vue视屏播放的实现(vue-video-player)
安装组件(要用npm,cnpm要出错哟)npm install vue-video-player --savemain.js文件中添加//播放器相关import VideoPlayer from 'vue-video-player'import 'vue-video-player/src/custom-theme.css'import 'video.js/dist/video...原创 2020-05-06 17:03:26 · 2351 阅读 · 0 评论 -
Vuecli4 本地服务跨域问题解决
在Vuecli4请求非本地接口时发生:No 'Access-Control-Allow-Origin' header is present on the requested resource.错误原创 2020-03-27 10:37:32 · 3611 阅读 · 0 评论