2013-08-06 74 views
3

我想在使用Backbone和Require.JS構建的應用程序中使用Dropzone.js,但我不知道如何實現它。用Require.js加載Dropzone.js

我應該使用require()嗎?

什麼是最有技巧的方式來管理它?

編輯:

我已經TREID就這樣我的骨幹視圖模塊的使用懸浮窗,AMD-模塊:

define([ 
    'jquery', 
    'underscore', 
    'backbone', 
    'dropzone' 
    ], function($, _, Backbone, Dropzone){ 

var NewProduct = Backbone.View.extend({ 
    el: $('.products'), 
    render: function(){ 

     $(this).empty(); 
     require(['text!templates/product_new.html'], function(product_new){ 
     var product_new = _.template(product_new); 
     $('.products').html(product_new); 
     }); 

     Dropzone.forElement("#my-awesome-dropzone").on("addedfile", function(file) { 
     console.log("uploaded"); 
     }); 

    } 
    }); 

return NewProduct; 
}); 

在模板中使用此HTML:

<form action="/upload'" class="dropzone" id="my-awesome-dropzone" method="POST" enctype="multipart/form-data"> 
    <input type="file" name="file" /> 
    </form> 

但是什麼都沒有發生。

+0

您是否在項目的其餘部分使用了requirejs?沒有「最熟練」這樣的東西。這總是一個你的項目如何設置的問題。如果你確實想要使用require,[dropzone似乎對此有支持](http://www.dropzonejs.com/#toc_2) – Dogoku

+0

看看當前編輯的問題 –

+0

仍然不工作..請幫助我,任何人 –

回答

0

我的問題是,當我把.dropzone類放在我的元素上時,它被初始化了。但是在我的define()模塊中,我設置了應用程序永遠不會拾取的選項。我正在使用dropzone-amd-module。我不確定發生了什麼事。

**HTML** 
<form action="/vendor/uploadProductImage" class="dropzone" id="product-image-drop"> 
    <div class="dz-default dz-message"></div> 
<input type="hidden" name="productId" value=${productInstance.id}> 
</form> 



**JS** 
Dropzone.options.productImageDrop = { 
     url : '/vendor/uploadProductImage', 
     paramName: "file", // The name that will be used to transfer the file 
     maxFilesize: 5, // MB 
     acceptedFiles: ".jpg, .png, .jpeg", 
     createImageThumbnails: true, 
     maxThumbnailFilesize: 15, // MB, 
     thumbnailWidth: "50px", 
     thumbnailHeight: "50px" 
    };