1.语法格式出错问题及解决方案
1 | error Expected space or tab after '//' in comment spaced-comment | 双斜杠注释后应当先加一个空格,再写注释。 |
2 | 3:35 error Trailing spaces not allowed no-trailing-spaces | 不要留有尾空格 |
3 | 5:35 error Extra semicolon | 有多余的分号 |
4 | error Parsing error: x-invalid-end-tag vue/no-parsing-error | 由于HTML标签未正确闭合或嵌套不正确导致的 |
5 | Missing space before function parentheses | 函数和括号之间要有一个空格 |
6 | 文件末尾不准有太多空行,但是又要求有一个换行符 |
2.语法检查太严格解决办法:
在vue.config.js中添加这样一句代码 lintOnSave: false//关闭语法检查,如果没有则新建文件vue.config.js
vue.config.js中完整代码如下:
const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
transpileDependencies: true,
lintOnSave: false, //主要是这一行
})
如果添加后仍然报错就需要检查是否添加了语法检查插件,如:ESLint。禁用插件并重启VSCode后即可恢复
3.生命周期函数
async mounted() {
this.getList();
this.$bus.$on('refreshList', () => {
this.getList();
})
},
这是一个Vue组件中的mounted
生命周期钩子函数。在这个函数中,它首先调用了this.getList()
方法来获取数据,并且通过this.$bus.$on
方法注册了一个名为"refreshList"的事件监听器,当该事件被触发时,会再次调用this.getList()
方法来更新列表数据。这样的设计可以在需要更新列表数据时,通过触发"refreshList"事件来实现数据更新。
beforeDestroy() {
this.$bus.$off("refreshList");
}这是一个Vue组件中的beforeDestroy
生命周期钩子函数。在这个函数中,它使用this.$bus.$off
方法取消了之前通过事件总线($bus
)注册的名为"refreshList"的事件监听器。这意味着在组件销毁之前,不再监听该事件。
4.一些标签属性
1 | show-overflow-tooltip | 该属性可以让内容在一行显示,如果显示不下时,显示...,并且鼠标划过时显示全部文字 |
2 | append-to-body | 对话框父子组件嵌套显示 |
3 | @keyup.enter.native="handleQuery" | 监听键盘事件,回车搜索 |
4 | trigger: "blur" | 表单失去焦点时验证 |
5 | parseTime(scope.row. | 时间格式化,将日期和时间分为两行 |
6 | right-toolbar | 在工具栏增加显示/隐藏列操作按钮(带权限控制)columns显示/隐藏列可以操作的列,v-hasPermi控制该操作工具栏的可见性和可使用性 |
7 | prop | 表单中需要校验的字段名 |
8 | collapse-tags | 将多余的标签折叠显示,并在最后一个标签处显示一个折叠提示。 |
9 | el-form :model="queryParams" ref="queryForm" | :model="queryParams" 表示将表单的数据与名为queryParams 的Vue实例数据进行双向绑定。而ref="queryForm" 则是给表单元素添加了一个引用,可以通过this.$refs.queryForm 来访问该表单元素 |
10 | space-between | 指定容器中的任何剩余空间应平均分布在项目之间 |
11 | style="border: 1px solid black;border-radius:2px" | 圆角方框,加粗边属性 |