2013-10-03 3 views
0

loadImage 라이브러리의 loadImage.parseMetaData 메소드를 내 백본보기의 함수 내에서 호출하려고하는데 메소드가 정의되지 않았다고 표시됩니다. 의 제 3 자 플러그는 이것이다 : 내 main.js에 플러그인을 가지고 requirejs을 사용하고백본보기 내에서 jquery 플러그인의 메서드 호출하기

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

그렇게 같은 파일 :

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', 

....

제 생각에는 제 3 자 플러그인에 액세스 할 수 있도록 다음과 같이 작성했습니다 :

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({ 

...

내 이미지 업로드 기능에서 제 3 자 메소드 "loadImage"를 호출하려고하는데 loadImage가 정의되지 않았습니다. 분명히 글로벌 제 3 자 방식을 호출하는 범위가 잘못되었습니다. 내가하고 시도

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

자바 스크립트는 대소 문자를 구분합니다. loadImage.parseMetaData() 대신 loadimage.parseMetaData()를 사용하여 함수 시그니처의로드 이미지 매개 변수와 일치하도록하십시오.

+0

감사합니다. : D 어리석은 나를 발견하지 못한 것에 대해. 그것은 내 밤을 훨씬 더 생산적으로 만들었습니다. 너는 성자 야! –

+1

@EuanMillar 포스터의 답변에 반드시 답을 표시하십시오. – kinakuta