Vue
深入研究Vue,实现各种效果,实现响应式页面,可以各种交互
先知预判
熟悉VUE,NODE,JQUERY,HTML,CSS,JAVASCRIPT,SCSS
熟练使用各种ui框架,如vant,element-ui
展开
-
手喽个日历
【代码】手喽个日历。原创 2022-08-22 15:29:20 · 251 阅读 · 1 评论 -
vue后台水印实现
<template> <router-view v-waterMark="waterCode" ></router-view></template><script>import waterMark from 'common/utils/watermark';export default { directives: { waterMark: waterMark, },原创 2022-03-17 10:31:13 · 1099 阅读 · 2 评论 -
vue m3u8视频播放 单个视频和多个视频处理
文章目录使用方式组件npm install video.js使用方式《组件》组件在下方// 单个视频 <videojs :src="url"/>// 多个视频 <div v-for="item in list" :key="item.id" class="count" > <videojs :src="item.url" :val="item.id" /> </div&原创 2021-11-09 14:57:14 · 2980 阅读 · 4 评论 -
vue中xss详细配置
xss文件import xss from 'xss'; // 导入xss包const options = { // 白名单 whiteList:{ a: ['style', 'href', 'title', 'target'], p:['style'], section: ['style'], strong: ['style'], abbr: ["title",'style'], addres原创 2021-09-25 12:08:54 · 3853 阅读 · 0 评论 -
多维数组中删除指定项,数据结构不变
let arr = [[11,22,33],[44,55,66],[77,88,99]];arrRemove(it, arr) { if(!arr || arr.length == 0) { return ""; } let flag = arr.indexOf(it); if (flag > -1) { arr.splice(flag, 1); return arr; }}arrRemove(55, a原创 2021-09-25 12:03:57 · 203 阅读 · 0 评论 -
对象修改key
let list ={ "222":{ "12101": "生殖孕育", "12102": "妇科综合", "12103": "产科", "12104": "产后妇科", "12105": "妇产科其它" }, "444":{ "12201": "儿内科", "12202": "儿外科", "12203": "儿童五官科", "12204": "儿童保健科", "12205": "新生儿科", "12206": "其他儿科" }}原创 2021-08-31 15:36:48 · 237 阅读 · 0 评论 -
vue实现批量打印
<template> <div> <ul class="print-ul"> <li v-for="(item,index) of tableData" :key="index" :id="'printDiv' + index" style="page-break-after:always;"> <div>原创 2021-08-20 11:52:06 · 3622 阅读 · 4 评论 -
cascader快速数据格式转化
<i-cascader v-model="params.cate_l3_no" style="width: 155px" placeholder="药品分类" trigger="hover" @on-change="change" :data="cate_l1_list" transfer > </i-cascader>// 使用this.cate_l1_list= this.convertTree(da原创 2021-06-25 16:40:28 · 457 阅读 · 0 评论 -
iview table 分页复选框保存状态记忆
<i-table stripe ref="selection" :columns="columns" :data="dataList" :loading="loading" @on-select="onSelect" @on-select-cancel="onSelectCancel" @on-select-all="onSelectAll" @on-select-all-cancel="onSelectAllCancel"/>原创 2021-06-10 12:36:49 · 584 阅读 · 0 评论 -
多维对象转一维对象
a:{ list:111, obj:222, b:{ add:333, box:444 }, c:{ haha:555, nihao:666 }}Object.values(a).forEach(item => { let obj = item; for (let key in obj) { if (obj[key]) { this.$set(this.obj, key, obj[key]); }原创 2021-05-28 18:56:40 · 539 阅读 · 0 评论 -
vue实现二维码
安装 npm install xkeshi/vue-qrcode --save<div v-show="qrcodeUrl" class="response"><qrcode :value="qrcodeUrl" v-if="qrcodeUrl" :options="{ size: 170 }"></qrcode><p>请使用支付宝扫码支付</p></div>// script 代码import Qrcode原创 2021-03-24 17:22:34 · 129 阅读 · 0 评论 -
苹果mac使用npm安装依赖报错
在使用npm按照vue的时候报错,解决方法asus$ npm install -g @vue/cli输入密码以管理员身份安装原创 2021-03-24 15:11:10 · 458 阅读 · 0 评论 -
vue中使用MD
安装npm install mavon-editor --save使用<template> <div style="width: 100%;height: 100%"> <mavon-editor v-model="value" @save="save" :toolbarsFlag="!readOnly" :defaultOpen="readOnly?'preview':'edit'" :ishljs = "true" :subfield="readOnly"原创 2021-03-08 10:23:44 · 375 阅读 · 0 评论 -
用户监控zanePerfor部署与使用
官网// installnpm install web-report --save // 通用版本引入import { Performance } form 'web-report'// 使用 建立在oncreate中Performance({ domain:'http://report.com/api/v1/report/web', add:{ appId:'D3D9B9AA45B56F6E424F57EFB36B0XXX',//zanePerfor中创建的原创 2021-03-08 10:21:26 · 294 阅读 · 0 评论 -
浏览器实现word在线预览
注册注册过程十分简单,输入邮箱,两个key直接发送到你的邮箱,注册地址http://www.xdocin.com/xdoc?_func=resource替换url,只要替换下面url中的key为你的只读key和文档地址就可以http://www.xdocin.com/xdoc?_func=to&_format=html&_cache=true&_key=你的只读key&_xdoc=你的文档地址 window.open( "http://www.原创 2021-03-08 10:16:15 · 629 阅读 · 0 评论 -
element-ui中Table聚光灯效果
<template> <el-table :data="tableData" border class="marking-table" :cell-class-name="cellClassName" :header-cell-class-name="headerCellClassName" @cell-mouse-enter="cellMouseEnter" @cell-mouse-leave="cellMouseLeave".原创 2021-02-24 14:00:24 · 314 阅读 · 0 评论 -
vue实现导出CSV
data () { return { data : [ {"姓名":"张三", "城市": "Seattle","age":"12"}, {"姓名":"Mike", "城市": "Los Angeles","age":"22"}, {"姓名":"Zach", "城市": "New York","age":"33"}] } }, methods: { xia(){ var str = "博客, 域名\nBlog, 2\n原创 2021-01-16 17:06:12 · 191 阅读 · 1 评论 -
vue.config.js
// Vue.config.js 配置选项module.exports = { // 基本路径 publicPath: "./", // 构建时的输出目录 outputDir: "dist", // 放置静态资源的目录 assetsDir: "static", // html 的输出路径 indexPath: "index.html", //文件名哈希 filenameHashing: true, //用于多原创 2021-01-13 12:21:42 · 151 阅读 · 0 评论 -
vue路由动画
//name指定过渡所执行的动画,动态绑定是为了切换不同的转场动画 <transition :name="animation"> //router-view加上绝对定位效果,默认居于左上角 <router-view class="router"></router-view> </transition> <style>.router { position: absolute; left: 0;原创 2021-01-13 11:39:39 · 164 阅读 · 0 评论 -
vue中动态修改title
1.路由配置meta:{title:"Lello word"}2.main.js// 根据路由设置标题router.beforeEach((to, from, next) => { /*路由发生改变修改页面的title */ if(to.meta.title) { document.title = to.meta.title } next();})原创 2021-01-13 11:36:11 · 123 阅读 · 0 评论 -
Vue项目打包优化
一、知识点和目的1、打包优化的目的1、项目启动速度,和性能2、必要的清理数据第一点是核心,第二点呢其实主要是清理console2、性能优化的主要方向1、cdn加载2、压缩js3、减少项目在首次加载的时长(首屏加载优化)二、打包优化1、我们首先是压缩js,并且开启gzip说明:开启gzip代表你项目实际环境就可以使用gzip。原因:第一:浏览器需要支持第二:需要后端配置,这里提供nginx方式:http:{ gzip on; #开启或关闭gzip on原创 2021-01-08 17:43:15 · 4461 阅读 · 3 评论 -
实现一个table的增删改查
实现一个table的增删改查js代码export default { name: "basetable", data() { return { query: { address: "", name: "", pageIndex: 1, pageSize: 5 }, tableData: [], multipleSelection: [], delList: [],原创 2020-11-16 15:45:14 · 681 阅读 · 0 评论 -
axios用post请求方式报错的解决方案
axios用post请求方式报错的解决方案1. 安装qsqs是一个不知道是谁开发的一个解决formData请求的包安装方法:yarn add qscnpm i qs -S2.使用 this.$axios.post("/路径",qs.stringify({传递的参数})).then((res) => { console.log(res); });...原创 2020-10-11 20:18:10 · 627 阅读 · 0 评论 -
element-ui实现分页效果
element-ui实现分页效果思路主要代码就是data.slice((page-1)*pageSize,page*pageSize)<ul id="ul"> <li v-for="(item, index) in data.slice((page-1)*pageSize,page*pageSize)" :key="index" @click="list(item.id)"> <img :src="item.pic" alt="" style原创 2020-10-09 10:32:51 · 268 阅读 · 1 评论 -
八卦阵
八卦阵思路主要通过css里的content属性前::after后::before <div class="taiji"></div>body {background-color: #ccc;}.taiji { width: 150px; height: 300px; margin: 100px auto; border-right: 150px solid #000; background-color: #fff;原创 2020-10-08 15:29:17 · 234 阅读 · 0 评论 -
Vue的11个生命周期函数
Vue的11个生命周期函数 创建前:beforeCreat //vue实例刚开始挂载 创建后:created //最早加载data中数据的钩子函数 挂载前:beforeMount //DOM还没有挂载到vue实例上面 挂载后:mounted //最早操作DOM元素的钩子函数 更新前:beforeUpdate //组件开始更新 更新后:updated //组原创 2020-10-08 11:54:30 · 263 阅读 · 0 评论 -
路由详细传参
路由传参1.通过router-link跳转 <router-link to="/路径" tag="button">首页</router-link>2.通过编程式导航跳转this.$router.push('/路径?name='123'')3.通过query跳转 this.$router.push({ path:'/路径', query:{i:i}} }) //通过url地址栏里的get传参4.通过params跳转this.$rout原创 2020-10-07 20:11:36 · 134 阅读 · 0 评论 -
token设置请求头
token设置请求头1.直接获取本地存储中的token数据instance.interceptors.request.use((config)=>{ //在这里面写请求之前做的事情 const token = sessionStorage.getItem('ji') if (token) { // 判断是否存在token,如果存在的话,则每个http header都加上token config.headers.authoriza原创 2020-10-07 18:57:59 · 1264 阅读 · 0 评论 -
Vue实现loading加载动画
Vue实现loading加载动画1.在main.js里引入axiosimport axios from "@/http/index.js"2. 在vuex中设置状态state: { isLoading: false },3.配置拦截器import axios from 'axios'import store from '@/store'//vuex的路径var instance =axios.create({ baseURL:'', timeout:原创 2020-10-07 15:19:19 · 2307 阅读 · 1 评论 -
Vue常用各种插件详细安装步骤(不收藏就找不到了!)
Vue安装步骤1.小黑框安装vue create 项目名 -b -n2.vuex安装yarn add vuex //全局状态管理工具yarn add vuex-persistedstate //vuex保存在本地3.路由安装yarn add vue-router //路由4.路由跳转yarn add axios //路由跳转yarn add vue-axios //路由跳转5.快速实现页面效果pc端yarn add element-ui -S //pc端6.s原创 2020-09-29 14:15:20 · 2827 阅读 · 2 评论 -
选中删除操作
选中删除操作思路1.for循环数组,然后if判断每一条数据的checked是否为true,为true时每一条循环中删除方法一for(let i=0;i<this.arr.length;i++){ if(this.arr[i].checked){ this.arr.splice(i,1) i-- } }思路1.过滤数组,吧为false的返回给数组方法二let box=this.arr.filter(i=>原创 2020-09-29 10:37:37 · 227 阅读 · 2 评论 -
Vue实现简单的搜索功能
Vue实现简单的搜索功能思路://先创建一个新的数组,吧tab里的数据赋值给list,//用list里的数据进行过滤,判断是否有input里的值HTML <div id="app"> <input type="text" v-model="input" @keyup.enter="btn()"> <ul> <li v-for="(item,index) in tab">{{item.name}}原创 2020-09-28 13:54:27 · 1150 阅读 · 3 评论 -
Vue实现超级简单的tab切换
Vue实现tab切换思路 //1.获取点击的每一项的下标,吧下标传过去 //2.点击每一项发生改变,通过tab的下标判断list的图片HTML <div id="app"> <ul> <li v-for="(item,index) in tab" @click="an(index)" :style="{background:show==index?'red':''}">{{item.name}}</li原创 2020-09-28 11:45:12 · 286 阅读 · 1 评论 -
Vue实现全选和反选
Vue实现搜索功能思路 // 全选和反选思路//首先给全选按钮写一个点击事件,绑定一个变量默认为false,//创建一个空的数组,在循环里面用v-model绑定,在用:value=id或者下标;//在全选点击事件中,if判断当按钮为true时数组为空,反之循环数组循环,然后if判断数组当里面的每一项为-1时,给数组添加每一项//监听数组,判断数组的长度等于list的长度的时候,checked为true反之checked为falsehtml<div id="a原创 2020-09-28 10:12:32 · 692 阅读 · 3 评论