// mixin.js
import Vue from 'vue'
import Component from 'vue-class-component'
// You can declare a mixin as the same style as components.
@Component
export default class MyMixin extends Vue {
mixinValue = 'Hello'
}
// 引用文件
import Component, { mixins } from 'vue-class-component'
import MyMixin from './mixin.js'
// Use `mixins` helper function instead of `Vue`.
// `mixins` can receive any number of arguments.
@Component
export class MyComp extends mixins(MyMixin) {
created () {
console.log(this.mixinValue) // -> Hello
}
}
vue typescript 项目使用cdn方式引入调用 this.$message时报错问题
具体报错信息如下
Property '$message' does not exist on type 'Single Vue Component Name'
// main.ts 注册路有钩子
import Component from 'vue-class-component'
// Register the router hooks with their names
Component.registerHooks([
'beforeRouteEnter',
'beforeRouteLeave',
'beforeRouteUpdate' // for vue-router 2.2+
])
并行加载异步函数
多个异步函数之间没有关联关系 需要等待则需要添加await
控制台包 NavigationDupliacted 解决方案
引用vue-router的页面添加如下代码
integrity checksum failed when using sha512: wanted sha512 错误解决
问题描述 本地开发一切正常,在服务器上执行
npm install
命令安装依赖时报错integrity checksum failed when using sha512: wanted sha512
解决方案: 删除本地
package-lock.json
文件并移除node-modules
模块重新执行npm install
本地打包没问题后提交服务器,服务器上重新安装依赖即可typeScript单文件组件使用vuex
详见:vuex-class文档
class格式单文件组件使用mixin
详见:vue-class-component文档
vue typescript 项目使用cdn方式引入调用 this.$message时报错问题
具体报错信息如下
使用cdn方式引入使用方式为
vue typescript 项目同时使用element和vant是出现声明冲突问题
直接找到
node_modules
相关文件移除声明或者修改证明为any
类型即可method 方法调用filter
方法一 直接引入filter文件当方法调用即可
方法二
提交时确保所有文件均已上传
1、
beforeupload
时totleUploadFile+1
2、
on-remove
且状态为uploading
时totleUploadFile-1
3、
uploadsuccess
时totleDealedFile+1
4、
uploaderror
时totleDealedFile+1
5、
totleUploadFile===totleDealedFile
当满足以上所有条件时所有文件均已上传
npm 命令获取其他参数
vuecli 项目使用mock数据方案
添加其他环境变量
判断环境为开发环境且启用mock(通过其他环境变量定义即可)则返回mock的url
typescript 定义promise返回值类型
vue插件编写
elementUI upload组件上传失败但仍然显示成功问题解决
upload组件判断成功标志位http code 为200即显示成功
但后台逻辑可能并非如此,上传失败状态码依旧为200在其他信息里包含错误信息
解决方案
判断返回逻辑如果为上传文件失败则给出失败的提示信息并移除页面展示成功但实际并未上传成功的文件
在axios的封装文件及store里调用element-ui的方法
在封装文件及store里无法获取vue实例,可以通过UI库绑定到原型链上的方法调用弹框之类的组件
VScode编辑器正则
在行首插入字符串
^
替换为要插入的字符串
即可在行尾插入字符串
\n
替换为要插入的字符串\n
即可删除空行
^\s*(?=\r?$)\n
替换为空即可把swagger-ui的文档替换为字段名和字段说明的方法
1.从页面复制字段名和字段值,到文件里会出现换行情况
2.把字段名和字段解释放到同一行,并对字段名添加后引号,对字段解释添加前引号
复制
\n
替换为':'
3.移除多余的空行
^\s*(?=\r?$)\n
替换为空即可4.添加行尾字段解释引号和逗号
\n
替换为',\n
5.添加行首字段名引号
^
替换为'
nightwatch 模拟与服务器交互
e2e测试不需要与服务器进行任何交互,只需要等待 服务器失败就会出现测试不通过情况
nightwatch 选择列表里的某个元素
图片上传前循环压缩直至达到大小要求
网页展示及打印PDF
使用vue-pdf插件进行PDF预览及打印
element-ui 上传图片预览使用插件
使用v-viewer插件进行图片预览
移动端手势密码
移动端手势密码
typescript vue单文件组件路有钩子不生效
详见vue-class-component