diff --git a/src/compile/render-dom/index.ts b/src/compile/render-dom/index.ts index 622fc034fd..d30470f6ef 100644 --- a/src/compile/render-dom/index.ts +++ b/src/compile/render-dom/index.ts @@ -413,14 +413,15 @@ export default function dom( ${set && `$$self.$set = ${set};`} - ${reactive_declarations.length > 0 && deindent` ${injected.length && `let ${injected.join(', ')};`} + + ${reactive_declarations.length > 0 && deindent` $$self.$$.update = ($$dirty = { ${Array.from(all_reactive_dependencies).map(n => `${n}: 1`).join(', ')} }) => { ${reactive_declarations} }; + `} ${fixed_reactive_declarations} - `} return ${stringify_props(filtered_declarations)}; } diff --git a/test/runtime/samples/reactive-values-fixed/_config.js b/test/runtime/samples/reactive-values-fixed/_config.js new file mode 100644 index 0000000000..58aee09c35 --- /dev/null +++ b/test/runtime/samples/reactive-values-fixed/_config.js @@ -0,0 +1,11 @@ +export default { + html: ` +
4
+ `, + + test({ assert, component, target }) { + assert.htmlEqual(target.innerHTML, ` +4
+ `); + } +}; diff --git a/test/runtime/samples/reactive-values-fixed/main.svelte b/test/runtime/samples/reactive-values-fixed/main.svelte new file mode 100644 index 0000000000..53445e03ba --- /dev/null +++ b/test/runtime/samples/reactive-values-fixed/main.svelte @@ -0,0 +1,6 @@ + + +{squared}