docs: note default value breaking change to `bind:` in runes mode (#12412)

* docs: note default value breaking change to `bind:` in runes mode

https://github.com/sveltejs/svelte/issues/11400#issuecomment-2223186433

* Update sites/svelte-5-preview/src/routes/docs/content/03-appendix/02-breaking-changes.md

Co-authored-by: Rich Harris <rich.harris@vercel.com>

---------

Co-authored-by: Rich Harris <rich.harris@vercel.com>
pull/12442/head
Simon H 4 months ago committed by GitHub
parent 4b160786a7
commit f58d60068d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -171,6 +171,8 @@ Exports from runes mode components cannot be bound to directly. For example, hav
In Svelte 4 syntax, every property (declared via `export let`) is bindable, meaning you can `bind:` to it. In runes mode, properties are not bindable by default: you need to denote bindable props with the [`$bindable`](/docs/runes#$bindable) rune.
If a bindable property has a default value (e.g. `let { foo = $bindable('bar') } = $props();`), you need to pass a non-`undefined` value to that property if you're binding to it. This prevents ambiguous behavior — the parent and child must have the same value — and results in better performance (in Svelte 4, the default value was reflected back to the parent, resulting in wasteful additional render cycles).
### `accessors` option is ignored
Setting the `accessors` option to `true` makes properties of a component directly accessible on the component instance. In runes mode, properties are never accessible on the component instance. You can use component exports instead if you need to expose them.

Loading…
Cancel
Save