--- title: Textarea Interpolation is One-Way Only - Use v-model for Two-Way Binding impact: HIGH impactDescription: Using {{ text }} inside textarea displays initial value but user input does NOT update the ref type: capability tags: [vue3, v-model, forms, textarea, interpolation, template] --- # Textarea Interpolation is One-Way Only - Use v-model for Two-Way Binding **Impact: HIGH** - Interpolation in textarea (`{{ text }}`) provides one-way binding only - it displays the initial value but user input does NOT update the ref. This creates a confusing disconnect where the textarea shows content but edits are silently lost. Unlike v-model which provides two-way binding, interpolation only renders the initial ref value into the textarea. When users type, the ref remains unchanged, making form submissions return stale data. Always use v-model for two-way binding in textareas. ## Task Checklist - [ ] Never use interpolation inside textarea tags - [ ] Always use v-model for textarea two-way binding - [ ] Search codebase for ` ``` **Correct:** ```html ``` ```html ``` ## Reference - [Vue.js Form Input Bindings - Multiline text](https://vuejs.org/guide/essentials/forms.html#multiline-text)