diff --git a/lib/rules/require-v-for-key.js b/lib/rules/require-v-for-key.js index 448cd5351..d0bf59a91 100644 --- a/lib/rules/require-v-for-key.js +++ b/lib/rules/require-v-for-key.js @@ -21,7 +21,7 @@ const utils = require('../utils') * @param {ASTNode} element The element node to check. */ function checkKey (context, element) { - if (element.name === 'template') { + if (element.name === 'template' || element.name === 'slot') { for (const child of element.children) { if (child.type === 'VElement') { checkKey(context, child) diff --git a/tests/lib/rules/require-v-for-key.js b/tests/lib/rules/require-v-for-key.js index 5d4a18376..ab026ed4b 100644 --- a/tests/lib/rules/require-v-for-key.js +++ b/tests/lib/rules/require-v-for-key.js @@ -42,6 +42,14 @@ tester.run('require-v-for-key', rule, { { filename: 'test.vue', code: '' + }, + { + filename: 'test.vue', + code: '' + }, + { + filename: 'test.vue', + code: '' } ], invalid: [ @@ -59,6 +67,11 @@ tester.run('require-v-for-key', rule, { filename: 'test.vue', code: '', errors: ["Elements in iteration expect to have 'v-bind:key' directives."] + }, + { + filename: 'test.vue', + code: '', + errors: ["Elements in iteration expect to have 'v-bind:key' directives."] } ] })