Runes mode: Binding in each loop not working

#14702

Development PRs

Issue

Solved
R
ralphdelfs
Dec 13, 2024, 8:10 AM

Describe the bug

In runes mode, when iterating an array of objects in an each loop, it is not possible to bind the object to a component.

<svelte:options runes={true} />
<script>
	import Component from "./Component.svelte"
	
	let objs = [{
		val: "foo"
	}]
</script>

{#each objs as obj}
  <Component bind:obj />
{/each}

Error each_item_invalid_assignment is raised. This works fine when runes mode is disabled.

Reproduction

https://svelte.dev/playground/71e6da2a2afd4a5e812bdd7263e5c7dd?version=5.12.0

Logs

Cannot reassign or bind to each block argument in runes mode. Use the array and index variables instead (e.g. `array[i] = value` instead of `entry = value`)
https://svelte.dev/e/each_item_invalid_assignment

System Info

svelte 5.12.0, see repl

Severity

blocking an upgrade

Info

Closed at Jan 8, 2025, 6:37 PM
Assignees None
Labels None
Milestone None