tengo estos datos:
example: { "jd5jasjs71kdskzaslsdfsdfsdfsdf" : { param1: '', param2: '', param3: '', param4: 'xx', param5: 'xx', advancedParams: { aone: '', atwo: '', athree: '', afour: 'blablabla' } },Tengo este código que funcionó bien, hasta que descubrí que necesitaré otro conjunto de datos en el objeto para implementarlos como campos de formulario en etapas posteriores del formulario que estoy creando:
if (this.example.hasOwnProperty(this.someKey)) { for (const [key, value] of Object.entries(this.example[this.someKey])) { this.newInputs[key] = value; } }someKey + newInputs (objeto) son de Data()
Lo que estoy tratando de lograr aquí es dividir los campos en dos nuevos objetos que se representarán más tarde como campos de formulario.
Ejemplo:
newInputs: { param1: '', param2: '', param3: '', param4: 'xx', param5: 'xx', } aParams: { aone: '', atwo: '', athree: '', afour: 'blablabla' }Pude hacerlo pero no 100% bien, pude dividirlo en dos objetos pero "advancedParams" también entró en el primer objeto como un campo (que no quiero que sea)
Prueba como el siguiente fragmento:
new Vue({ el: '#demo', data() { return { newInputs: {}, aParams: {}, someKey: 'jd5jasjs71kdskzaslsdfsdfsdfsdf', example: { "jd5jasjs71kdskzaslsdfsdfsdfsdf" : { param1: '', param2: '', param3: '', param4: 'xx', param5: 'xx', advancedParams: { aone: '', atwo: '', athree: '', afour: 'blablabla' } } } } }, methods: { splitData() { if (this.example.hasOwnProperty(this.someKey)){ for (const [key, value] of Object.entries(this.example[this.someKey])){ if(typeof value !== 'object'){ this.newInputs[key] = value; } else { this.aParams = value; } } } } }, mounted() { this.splitData() } }) Vue.config.productionTip = false Vue.config.devtools = false <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script> <div id="demo"> <p>newInputs = {{ newInputs }}</p> <p>aParams = {{ aParams }}</p> </div>