--- title: Text inputs --- As a general rule, data flow in Svelte is _top down_ — a parent component can set props on a child component, and a component can set attributes on an element, but not the other way around. Sometimes it's useful to break that rule. Take the case of the `` element in this component — we _could_ add an `on:input` event handler that sets the value of `name` to `event.target.value`, but it's a bit... boilerplatey. It gets even worse with other form elements, as we'll see. Instead, we can use the `bind:value` directive: ```svelte ``` This means that not only will changes to the value of `name` update the input value, but changes to the input value will update `name`.