Vue报错 Variable ‘scope’ is already declared in the upper scope’
项目场景:
Vue "vue": "2.6.10",
Eslint : "eslint": "6.7.2",
eslint-plugin-vue : "eslint-plugin-vue": "6.2.2",
问题描述:
<el-table
:data="..."
...
>
<el-table-column align="center" type="expand" width="160" label="详细信息">
<template slot-scope="scope">
<el-table
:data="scope.row.x"
...
>
</el-table>
</template>
</el-table-column>
</el-table>
npm run link
会报错:
$ npm run link
> eslint --ext .js,.vue src
/Users/xxx/Desktop/project/web/..../xxx.vue
xxx:xxx warning Variable 'scope' is already declared in the upper scope vue/no-template-shadow
...
原因分析:
- eslint 报的错,提示的是
vue/no-template-shadow
- 搜了一下这个是
eslint-plugin-vue
中的规则,也就是.eslintrc.js
文件中引入的extends: ['plugin:vue/recommended'],
里面的规则查看详细文档地址 。
解决方案:
.eslintrc.js
中修改如下
rules: {
'vue/no-template-shadow':'off',
}
就不会再报错了。