From f16e4d3bdd844953d6f4287a3a9901d61d7f72e5 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Sun, 23 Dec 2018 16:33:03 -0500 Subject: [PATCH] dont lump in bind:this with everything else - fixes #1908 --- .../render-dom/wrappers/Element/index.ts | 4 +++- .../samples/binding-this-and-value/_config.js | 24 +++++++++++++++++++ .../samples/binding-this-and-value/main.html | 7 ++++++ 3 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 test/runtime/samples/binding-this-and-value/_config.js create mode 100644 test/runtime/samples/binding-this-and-value/main.html diff --git a/src/compile/render-dom/wrappers/Element/index.ts b/src/compile/render-dom/wrappers/Element/index.ts index 7bca57fa0a..311c99aabf 100644 --- a/src/compile/render-dom/wrappers/Element/index.ts +++ b/src/compile/render-dom/wrappers/Element/index.ts @@ -403,7 +403,9 @@ export default class ElementWrapper extends Wrapper { const groups = events .map(event => ({ events: event.eventNames, - bindings: mungedBindings.filter(binding => event.filter(this.node, binding.name)) + bindings: mungedBindings + .filter(binding => binding.name !== 'this') + .filter(binding => event.filter(this.node, binding.name)) })) .filter(group => group.bindings.length); diff --git a/test/runtime/samples/binding-this-and-value/_config.js b/test/runtime/samples/binding-this-and-value/_config.js new file mode 100644 index 0000000000..70cc8d4110 --- /dev/null +++ b/test/runtime/samples/binding-this-and-value/_config.js @@ -0,0 +1,24 @@ +export default { + html: ` + +

value: initial

+ `, + + ssrHtml: ` + +

value: initial

+ `, + + async test({ assert, target, window }) { + const input = target.querySelector('input'); + const event = new window.Event('input'); + + input.value = 'changed'; + await input.dispatchEvent(event); + + assert.htmlEqual(target.innerHTML, ` + +

value: changed

+ `); + } +}; diff --git a/test/runtime/samples/binding-this-and-value/main.html b/test/runtime/samples/binding-this-and-value/main.html new file mode 100644 index 0000000000..c56509eb7a --- /dev/null +++ b/test/runtime/samples/binding-this-and-value/main.html @@ -0,0 +1,7 @@ + + + +

value: {value}