javascript - VueJS可以多个元素调用同一个方法

标签 javascript vue.js vuejs2

我有一个包含动态元素的表单,因此有时可能有 5 个文件上传元素,有时只有 1 个。

但是我想知道在vue上让多个元素使用相同的方法是否可以?

例如:

<input type="file" @change="processImage(row.id)" name="img_1"class="img_upload_1">
<input type="file" @change="processImage(row.id)" name="img_2"class="img_upload_2">
<input type="file" @change="processImage(row.id)" name="img_3"class="img_upload_3">

然后在我的 vueJS 文件中,该方法如下所示:

processImage(index) {
      var rowIndex = this.rows.map(item => item.id).indexOf(index);
      this.rows[rowIndex].img = $('.img_upload_' + index)[0].files[0];
    },

一切正常,我只是想问是否有一些不同的方法被认为是最佳实践。

谢谢

最佳答案

可以从多个元素调用相同的方法。根据我的经验,它主要发生在 v-for 循环内。

我没有足够的关于您的案例的信息,但您可以考虑使用 HTML5 input,它允许您上传多个文件:

<input type="file" name="img" multiple>

关于javascript - VueJS可以多个元素调用同一个方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48598543/

相关文章:

vue.js - vuejs自定义指令似乎没有注册

javascript - 新建vue实例的main变量在哪里使用

javascript - 如何使用 Puppeteer 获取请求的原始下载大小?

Javascript文本动画: Bigger and bigger,然后消失

javascript - 显示与点击时生成的随机数对应的骰子元素

python - aiohttp request.multipart() 从浏览器上传文件中得不到任何结果

node.js - 使用 Nuxt 部署到 Heroku 时为 API 路由获取 404

javascript - 选择和动态设置长 HTML 段落样式的有效方法

javascript - Vue.js Element UI 表单验证 - 显示来自后端的错误

typescript - 为什么 TypeScript 不识别 Vue 插件的模块扩充?