vue2项目,vscode开发,原本用的是vetur插件,开发的组件vetur插件下检测没有语法问题,近期换了volar插件之后,发现有些组件有语法问题(飘红)。

image.png

报错的具体内容是
image.png

当<template>标签上使用了v-for,且标签内部使用了:key 就会触发这条告警

即如果没有key 或者 <template>标签换成其它标签(如<div>标签)就不会告警了(如下两图,不告警)
image.png
image.png

这个告警出现的原因是 eslint-plugin-vue中 针对vue3(没错,不是针对vue2, 是针对vue3)的规则"vue/no-v-for-template-key-on-child"
(https://eslint.vuejs.org/rule...)
image.png

要注意对比一下针对vue2的规则("vue/no-v-for-template-key"
https://eslint.vuejs.org/rule...),判断出这是volar把vue2项目当做vue3项目来校验了。

实测通过.eslintrc.js配置rules为off的方式没有解决问题。

rules: {

'vue/no-v-for-template-key-on-child': 'off' // vue3

}

我们简单点,把<template> 换成 <div>来处理,不要去改配置了。

一个潦草的完结。

同步更新到自己的语雀
https://www.yuque.com/diracke...


DiracKeeko
125 声望2 粉丝