遍历对象直到找到参数(VueJS)
Looping through object until param found (VueJS)
我有这个数据:
example: {
"jd5jasjs71kdskzaslsdfsdfsdfsdf" : {
param1: '',
param2: '',
param3: '',
param4: 'xx',
param5: 'xx',
advancedParams: {
aone: '',
atwo: '',
athree: '',
afour: 'blablabla'
}
},
我有这段代码运行良好,直到我发现我需要对象中的另一组数据在我正在创建的表单的后期阶段作为表单字段实现:
if (this.example.hasOwnProperty(this.someKey)) {
for (const [key, value] of Object.entries(this.example[this.someKey])) {
this.newInputs[key] = value;
}
}
someKey + newInputs(object) 来自 Data()
我在这里试图完成的是将字段划分为两个新对象,稍后将呈现为表单字段。
示例:
newInputs: {
param1: '',
param2: '',
param3: '',
param4: 'xx',
param5: 'xx',
}
aParams: {
aone: '',
atwo: '',
athree: '',
afour: 'blablabla'
}
我能够做到,但不是 100% 好,我能够将它分成两个对象,但“advancedParams”也作为一个字段进入第一个对象(我没有他是)
像下面的片段一样尝试:
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>
我有这个数据:
example: {
"jd5jasjs71kdskzaslsdfsdfsdfsdf" : {
param1: '',
param2: '',
param3: '',
param4: 'xx',
param5: 'xx',
advancedParams: {
aone: '',
atwo: '',
athree: '',
afour: 'blablabla'
}
},
我有这段代码运行良好,直到我发现我需要对象中的另一组数据在我正在创建的表单的后期阶段作为表单字段实现:
if (this.example.hasOwnProperty(this.someKey)) {
for (const [key, value] of Object.entries(this.example[this.someKey])) {
this.newInputs[key] = value;
}
}
someKey + newInputs(object) 来自 Data()
我在这里试图完成的是将字段划分为两个新对象,稍后将呈现为表单字段。
示例:
newInputs: {
param1: '',
param2: '',
param3: '',
param4: 'xx',
param5: 'xx',
}
aParams: {
aone: '',
atwo: '',
athree: '',
afour: 'blablabla'
}
我能够做到,但不是 100% 好,我能够将它分成两个对象,但“advancedParams”也作为一个字段进入第一个对象(我没有他是)
像下面的片段一样尝试:
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>