如何为许多实例化重构javascript代码



我有以下代码来上传一个工作良好的个人资料照片。我也有很多不同的情况(上传图标,标志等),这可能会以大量的重复结束。

var myDropzone;
myDropzone = new Dropzone("div#profilePhoto", {
  url: "/attachments",
  paramName: "attachment[file]"
});
myDropzone.on("sending", function(file, xhr) {
  return $.rails.CSRFProtection(xhr);
});

我的问题是我如何重构这段代码是尽可能通用,但允许我传递具体的选项(url, paramName等)取决于它的ID?

我们不太了解你使用它的上下文,但我相信像这样的函数可以工作:

function createDropzone(selector, url, paramName) {
    var myDropzone = new Dropzone(selector, {
      url: url,
      paramName: paramName
    });
    myDropzone.on("sending", function(file, xhr) {
      return $.rails.CSRFProtection(xhr);
    });
}

你可以这样调用它:

createDropzone("div#profilePhoto", "/attachments", "attachment[file]");

最新更新