Skip to content

Commit 3cbe38c

Browse files
authored
fix binding to module-level variables (#4352)
1 parent 83d461f commit 3cbe38c

File tree

4 files changed

+24
-5
lines changed

4 files changed

+24
-5
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
## Unreleased
44

5+
* Fix binding to module-level variables ([#4086](https://github.com/sveltejs/svelte/issues/4086))
56
* Disallow attribute/prop names from matching two-way-bound names or `{shorthand}` attribute/prop names ([#4325](https://github.com/sveltejs/svelte/issues/4325))
67

78
## 3.18.1

src/compiler/compile/render_dom/Renderer.ts

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -161,11 +161,14 @@ export default class Renderer {
161161
}
162162

163163
if (
164-
variable &&
165-
!variable.referenced &&
166-
!variable.is_reactive_dependency &&
167-
!variable.export_name &&
168-
!name.startsWith('$$')
164+
variable && (
165+
variable.module || (
166+
!variable.referenced &&
167+
!variable.is_reactive_dependency &&
168+
!variable.export_name &&
169+
!name.startsWith('$$')
170+
)
171+
)
169172
) {
170173
return value || name;
171174
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
export default {
2+
skip_if_ssr: true,
3+
html: '<div>object</div>'
4+
};
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<script context='module'>
2+
let foo;
3+
</script>
4+
5+
<script>
6+
import { onMount } from 'svelte';
7+
let bar;
8+
onMount(() => bar = foo);
9+
</script>
10+
11+
<div bind:this={foo}>{typeof bar}</div>

0 commit comments

Comments
 (0)