diff --git a/src/compile/nodes/Element.ts b/src/compile/nodes/Element.ts index 32f0b04e3772..1206ad939b3d 100644 --- a/src/compile/nodes/Element.ts +++ b/src/compile/nodes/Element.ts @@ -1326,7 +1326,7 @@ export default class Element extends Node { dependencies = expression.dependencies; } else { snippet = `ctx${quotePropIfNecessary(name)}`; - dependencies = [name]; + dependencies = new Set([name]); } const updater = `@toggleClass(${this.var}, "${name}", ${snippet});`; diff --git a/test/runtime/samples/class-shortcut-with-class/_config.js b/test/runtime/samples/class-shortcut-with-class/_config.js new file mode 100644 index 000000000000..2d36b6eabfca --- /dev/null +++ b/test/runtime/samples/class-shortcut-with-class/_config.js @@ -0,0 +1,16 @@ +export default { + data: { + "is-active": true, + isSelected: true, + myClass: 'one two' + }, + html: `
`, + + test ( assert, component, target, window ) { + component.set({ "is-active": false }); + + assert.htmlEqual( target.innerHTML, ` +
+ ` ); + } +}; diff --git a/test/runtime/samples/class-shortcut-with-class/main.html b/test/runtime/samples/class-shortcut-with-class/main.html new file mode 100644 index 000000000000..8e608c33e7e5 --- /dev/null +++ b/test/runtime/samples/class-shortcut-with-class/main.html @@ -0,0 +1 @@ +
diff --git a/test/runtime/samples/class-shortcut/_config.js b/test/runtime/samples/class-shortcut/_config.js index 2d36b6eabfca..22ccd68b5b80 100644 --- a/test/runtime/samples/class-shortcut/_config.js +++ b/test/runtime/samples/class-shortcut/_config.js @@ -1,16 +1,15 @@ export default { data: { "is-active": true, - isSelected: true, - myClass: 'one two' + isSelected: true }, - html: `
`, + html: `
`, test ( assert, component, target, window ) { component.set({ "is-active": false }); assert.htmlEqual( target.innerHTML, ` -
+
` ); } }; diff --git a/test/runtime/samples/class-shortcut/main.html b/test/runtime/samples/class-shortcut/main.html index 8e608c33e7e5..2bd6a32b6e8d 100644 --- a/test/runtime/samples/class-shortcut/main.html +++ b/test/runtime/samples/class-shortcut/main.html @@ -1 +1 @@ -
+