Javascript 在Vue.js中动态访问嵌套数组时,push不是一个函数

Javascript 在Vue.js中动态访问嵌套数组时,push不是一个函数,javascript,vue.js,vuejs2,vue-component,Javascript,Vue.js,Vuejs2,Vue Component,我想做的是,当用户上传一些数据时,会有两个按钮,一个是旧产品,另一个是新产品。 当用户单击其中一个按钮时,产品将上载为“旧产品”或“新产品”。 但是当我点击任何一个按钮时,我都会得到这个错误 _this.product[value].push is not a function 这是我的密码 <template> <div> <input type="file" class="product_upload" id

我想做的是,当用户上传一些数据时,会有两个按钮,一个是旧产品,另一个是新产品。 当用户单击其中一个按钮时,产品将上载为“旧产品”或“新产品”。 但是当我点击任何一个按钮时,我都会得到这个错误

_this.product[value].push is not a function
这是我的密码

<template>
  <div>
    <input type="file" class="product_upload" id="product_upload" @change="previewFiles">

    <button type="button" class="btn btn-primary" @click=uploadProduct('new_product')>New Product</button>
    <button type="button" class="btn btn-primary" @click=uploadProduct('old_product')>Old Product</button>
  </div>
</template>

<script>
  export default {
    data() {
      return {
        product: {
          old_product: [],
          new_product: []
        }
      }
    },
    methods: {
      previewFiles(event){
        return event.target.files;
      },
      uploadProduct(value){
        let files = this.previewFiles;
        
        this.product[value].push(files);
      }
    }
  }
</script>

新产品
老产品
导出默认值{
数据(){
返回{
产品:{
旧产品:[],
新产品:[]
}
}
},
方法:{
预览文件(事件){
返回event.target.files;
},
上传产品(价值){
让files=this.previewFiles;
this.product[value].push(文件);
}
}
}

它应该按照以下方法进行测试:

Vue.config.devtools=false;
Vue.config.productionTip=false;
新Vue({
el:“#应用程序”,
数据(){
返回{
文件:[],
产品:{
旧产品:[],
新产品:[]
}
}
},
方法:{
预览文件(事件){
this.files=event.target.files;
},
上传产品(价值){
this.product[value].push(this.files);
}
}
})

新产品
老产品
{{product}}