2013-04-12 4 views
1

모든 의존성을 처리하기 위해 RequireJS를 사용하고 있습니다. 그래서 여기내 컬렉션을 사용할 때 "정의되지 않음이 함수가 아닙니다."

내보기입니다 :

오류는이 라인에 발생합니다
define([ 
    'jquery', 
    'underscore', 
    'backbone', 
    'bootstrap', 
    'collections/InstitutionsCollection' 
], function($, _, Backbone, InstitutionsCollection){ 

    var InstitutionsView = Backbone.View.extend({ 
     render: function() { 
      var institutions = new InstitutionsCollection(); 

      institutions.fetch({ 
       success: function() { 
        console.log("success!"); 
       } 
      }); 
     } 
    }); 

    return InstitutionsView; 
}); 

: 여기 var institutions = new InstitutionsCollection();

내 컬렉션의 :

define([ 
    'jquery', 
    'underscore', 
    'backbone', 
    'models/InstitutionModel' 
], function($, _, Backbone, InstitutionModel){ 

    var InstitutionsCollection = Backbone.Collection.extend({ 
     model: InstitutionModel, 
     url: '/institutions/' 
    }); 

    return InstitutionsCollection; 
}); 

그리고 경우에

는 당신이 필요로 할 때 여기 내 모델 :

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

    var InstitutionModel = Backbone.Model.extend({ 

    }); 

    return InstitutionModel; 
}); 

나는 잠시 동안 그것을 쳐다 보았다. 그리고 나는 왜 그것이 그 오류를 던질 지 알 수 없다. 어떤 도움이라도 대단히 감사합니다.

답변

3

당신의 view는 부트 스트랩을 수입하고 필요 콜백에서 InstitutionsCollection 매개 변수에 매핑하고 있습니다.

define([ 
    'jquery', 
    'underscore', 
    'backbone', 
    'collections/InstitutionsCollection', 
    'bootstrap' 
], function($, _, Backbone, InstitutionsCollection){ 

    var InstitutionsView = Backbone.View.extend({ 
     render: function() { 
      var institutions = new InstitutionsCollection(); 

      institutions.fetch({ 
       success: function() { 
        console.log("success!"); 
       } 
      }); 
     } 
    }); 

    return InstitutionsView; 
}); 

그것은 동기화 매핑을 유지하는 진짜 고통이 될 수 있으며 코드를 스캔 할 때 간과하기 정말 쉽게 다음과 같이 코드를 업데이트하십시오!

+0

위대한, 그게 다야! 나는 그것이 그와 같은 작은 것이 될 것이라는 것을 알았고, 나는 그것을 알아낼 수 없었다. 감사! –

2

bootstrap부터 InstitutionsCollection까지를 매핑하고 있습니다. 로 변경 : 사용자가 정의 할 때

define([ 
    'jquery', 'underscore', 'backbone', 'collections/InstitutionsCollection',   
    'bootstrap' 
], function($, _, Backbone, InstitutionsCollection){}); 
4

다른 사람들이 제안했듯이 define 콜백에 대한 매개 변수 순서가 잘못 일치했습니다.

define(function(require) { 
    var $ = require('jquery'); 
    var _ = require('underscore'); 
    var Backbone = require('backbone'); 
    var InstitutionsCollection = require('collections/InstitutionsCollection'); 
    require('bootstrap'); 

    var InstitutionsView = Backbone.View.extend({ 
     // Code 
    }); 

    return InstitutionsView 
}); 

in the documentation에 대해 자세히 알아보기 :이 일반적인 오류를 완화하는 데 도움이 설탕 구문을 지적하고 싶습니다.

관련 문제