首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Vue3 ()初始化访问数据变量

从Vue3 ()初始化访问数据变量
EN

Stack Overflow用户
提问于 2022-11-29 03:40:40
回答 1查看 13关注 0票数 0

我试图在Vue3中使用一个下拉区域上传器,我是Vue2的老手,并且试图用这个新的反应性透明性来包装我的头脑。是否有人能简单地解释一下我如何可以从setup()方法访问数据变量,例如:

代码语言:javascript
复制
export default {
setup() {

    // const task_id = reactive({ task_id: 0 }); - thought I was onto something here, but no

    const url = "{your_url}";
    const saveFiles = (files) => {

      const formData = new FormData(); // pass data as a form
      for (var x = 0; x < files.length; x++) {
        formData.append("images[]", files[x]);
      }

    // Notice the use of task_id here, I would usually use this.task_id, but I 
    // understand that setup() is prior initialisation, but in my use-case I'm 
    // populating the task ID & then using the dropzone, so I need to know which 
    // task to upload to.

      Nova.request()
        .post('/nova-vendor/plan-markers/upload-to-task/'+task_id, formData, { headers: { "Content-Type": "multipart/form-data" } })
        .then(response => {
          console.info(response.data);
        })
        .catch((err) => {
          console.error(err);
        });
    }; // End of saveFiles const.

      function onDrop(acceptFiles, rejectReasons) {
        saveFiles(acceptFiles);
        console.log(rejectReasons);
      }

      const { getRootProps, getInputProps, ...rest } = useDropzone({ onDrop });

      return {
        // task_id ?,
        getRootProps,
        getInputProps,
        ...rest,
      };
    },
  data() {    
    return {
      task_id: 0, // The unreachable
    }
  },
  ...
EN

回答 1

Stack Overflow用户

发布于 2022-11-29 05:17:44

我通过引用在挂载方法上初始化的窗口变量来克服这个问题。

代码语言:javascript
复制
mounted() {
    window.vm = this;
}

然后,在setup()方法中:

代码语言:javascript
复制
function onDrop(acceptFiles, rejectReasons) {
    saveFiles(acceptFiles, window.vm.task_id);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74608931

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档