2013-10-03 48 views
0

我想從我的觀點骨幹的函數中調用的LoadImage庫的loadImage.parseMetaData方法中,但它說,該方法是不確定的。在第三方插件是這個:調用jQuery插件的方法從骨幹視圖

http://blueimp.github.io/JavaScript-Load-Image/

我使用requirejs帶來的插件到我main.js文件中像這樣:

require.config({ 
paths: { 
    jquery: 'vendor/jquery/jquery', 
    loadimage: 'vendor/loadimage/load-image', 
    loadimageorientation: 'vendor/loadimage/load-image-orientation', 
    loadimageios: 'vendor/loadimage/load-image-ios', 
    loadimageexif: 'vendor/loadimage/load-image-exif', 
    loadimageexifmap: 'vendor/loadimage/load-image-exif-map', 
    loadimagemeta: 'vendor/loadimage/load-image-meta', 

....

在我看來,我是這樣創建的,以便我可以訪問第三方插件:

define([ 
'jquery', 
'underscore', 
'backbone', 
'channel', 
'views/views.base', 
'models/model.image','jcrop', 'loadimage', 'loadimageorientation', 'loadimageios', 'loadimageexif', 'loadimageexifmap', 'loadimagemeta' 
], function($, _, Backbone, Channel, BaseView, ImageModel, jcrop, loadimage, loadimageorientation, loadimageios, loadimageexif, loadimageexifmap, loadimagemeta){ 
    /** 
    * 
    * @class AddView 
    * @constructor 
    * @extends BaseView 
    */ 

    var AddView = BaseView.extend({ 

...

在我的圖片上傳功能,我試圖調用第三方法「的LoadImage」,但它說的LoadImage不確定。顯然,調用全球第三方方法的範圍是錯誤的。我不知道我應該怎麼做:

imageSelected: function(e){ 
      e = e.originalEvent; 
      var target = e.dataTransfer || e.target, 
       that = this, 
       file = target && target.files && target.files[0], 
       options = { 
        maxWidth: 670, 
        canvas: true, 
        contain: true 
       }; 
      if (!file) { 
       return; 
      } 

      loadImage.parseMetaData(file, function (data) { 
       if (data.exif) { 
        that.exifData=data.exif; 
       } 
       that.displayImage(file, options); 
      }); 
     }, 

我曾嘗試做:

$(this.el).loadImage.parseMetaData(file, function (data) { 

但隨後就找不到的LoadImage方法的parseMetaData一部分。

任何幫助將不勝感激。

很多感謝,

尤安

回答

2

JavaScript是區分大小寫的。嘗試loadimage.parseMetaData()而不是loadImage.parseMetaData(),以便它與函數簽名中的loadimage參數的外形相匹配。

+0

完美的感謝! :D傻我沒有發現。這讓我的夜晚更加富有成效。你是聖人! –

+1

@EuanMillar務必將海報的答案標記爲回答您的問題。 – kinakuta