JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.min.js"></script>
<div id="app">
<p>{{ obj }}</p>
<p v-for="(val, key) in obj">
<input v-model="obj[key]">
</p>
</div>
JavaScript
new Vue({
el: '#app',
data: {
json: '{"name":"Vasya","surname":"Pupkin","гражданство": "РФ"}',
},
computed: {
obj() {
return new Proxy(JSON.parse(this.json), {
set: (tagret, prop, val) => {
this.json = JSON.stringify(Object.assign({}, this.obj, { [prop]: val }));
return true;
}
});
},
},
});