首页 > 解决方案 > 如何在定义模板之前重构可以上传图像的代码?

问题描述

在将图像上传到已经存在的(定义的)模板时,我有一个可以正常工作的功能。但是,我想知道是否可以对其进行重构,以便能够在定义模板之前(即创建模板时)上传图像。

这是功能:

newImageSelected: function (imageList) {
  let vc = this
  console.log('vc.template.id', vc.template.id)
  Template.uploadImage(vc.template, imageList[0])
    .then(function (response) {
      alert("La media ha sido cargada")
      console.log("La media ha sido cargada", response.data)
      if (!vc.template.images) vc.template.images = []
      vc.template.images.push(response.data)
    })
    .catch(function (err) {
      alert("Hubo un error cargando la media")
    })
}

这是uploadImage

function uploadImage (template, image) {

  let formData = new FormData()
  formData.append('image', image)
  console.log("uploadImage - template.id: " + template.id)

  return axios.post(API.templateUploadImage(template.id), formData)
}

记录template.id写入undefined。我尝试分配一个临时 template.id 等于数组的长度,但这不起作用,因为 axios 试图推送到不存在的 URL。

标签: javascriptrefactoring

解决方案


推荐阅读