Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过array-JS循环生成对象属性_Javascript_Vue.js - Fatal编程技术网

Javascript 通过array-JS循环生成对象属性

Javascript 通过array-JS循环生成对象属性,javascript,vue.js,Javascript,Vue.js,我正在和Vue合作,我得到了这个道具,它实际上是一个阵列。在这个数组中,我可以有多种类型的项。对于每个项目,我想为特定对象创建一个属性。因此,如果我有一个带有方法和计数的数组,我希望有一个 const data = { name: newObject.name, methods: newObject.methods, count: newObject.count, // All other properties here };

我正在和Vue合作,我得到了这个道具,它实际上是一个阵列。在这个数组中,我可以有多种类型的项。对于每个项目,我想为特定对象创建一个属性。因此,如果我有一个带有
方法
计数
的数组,我希望有一个

   const data = {
       name: newObject.name,
       methods: newObject.methods,
       count: newObject.count,
       // All other properties here
   }; 
我有

this.inputs.forEach((input) => {
   // Make property here
});

            // Create properties here maybe?
            // newObject.methods ?

    // Set a data object for post rquest
   const data = {
       name: newObject.name,
       // All other properties here
   };
我怎样才能做到这一点?我想到了一个
forEach
,但之后我就不知道该怎么办了

支柱


然后循环通过
输入
属性,为每个项目获取该
新对象
对象

上的属性。如果我理解正确,您试图将属性解析为组件,然后循环通过该属性,并使用forEach循环将其分配给本地数据存储

下面是一个小提琴的例子:

Vue.component('child'{
道具:[“数据”],
数据:函数(){
返回{
“新项目”:[],
}
},
挂载:函数(){
this.data.forEach((输入)=>{
this.newItems.push(input.data)
});
console.log(this.newItems)
},
模板:`{newItems}}`
});
新Vue({
el:“应用程序”,
数据(){
返回{
数据:[
{“数据”:123,“其他”:678},
{“数据”:233,“其他”:6728},
{“数据”:343,“其他”:67812},
]
}
}
});

请发布一个输入和输出示例。@amrendersingh小调整,够清楚吗?不太清楚。我有一个道具,它是我的子组件中的一个数组。我希望在子数组中循环,然后对于该数组中的每个项,我希望有一个object属性。因此,如果我有一个带有
方法
模块
的数组,并且我有一个对象
const newObject={}
,我想将这些项作为属性添加到我的对象中。类似于
newObject.methods
newObject.modules
。如果您有一个对象,并且希望在该对象上定义一个新属性,则可以使用
`:inputs="['Methods']"`
Vue.component('child', {
  props: ['data'],
  data: function() {
    return {
        'newItems': [],
    }
  },
  mounted: function(){
    this.data.forEach((input) => {
        this.newItems.push(input.data)
    });


    console.log(this.newItems)
  },
  template: `<div>{{ newItems }}</div>`
});

new Vue({
  el: "#app",
  data() {
    return {
      data: [
          { 'data': 123, 'other': 678 },
          { 'data': 233, 'other': 6728 },
          { 'data': 343, 'other': 67812 },
        ]
    }
  }
});