VueJS – Two way data binding and state management with Vuex and strict mode
So just to be clear, you are not supposed to do two way data binding in a way that would violate strict mode. Strict mode is a debug mode to help you catch the errors that should not be there, whether it&#x27;s on or off.<p>My preferred way to handle stuff like this is to have authoritative data in Vuex (e.g.: a user object), and have a `formData` object attached to the Vue instance. The `formData` will get modified directly with an `&lt;input v-model=&quot;formData.first_name&quot;&gt;`, etc. and when the form&#x27;s submit event fires is when I tell Vuex to update the authoritative object.<p>The nice advantage of this method is that you can easily reset the form to its initial values without having to store a copy of the original object. You also don&#x27;t update the authoritative object one field at a time, but all at once. Lastly, it lets you do whole form validation (do the passwords match? Did the user provide either a phone number or an email address, etc.)