2017-02-03 6 views
1

누군가가 나에게 유용한 힌트를 줄 수 있기를 바랍니다.백본 네임 스페이스 공개보기

는 app.js

;(function(app){ 

'use strict'; 

app.on('start', function(){ 
    var view = new app.base.base_documents.views.DokumentenView(); 
    view.render(); 
}); 

}) (window.app);

var view = CustomView(); 
view.render() 

내 views.js

을 :

이런 식으로 내보기 전화

var view = new app.base.base_documents.views.CustomView(); 
view.render(); 

어쩌면 거기 follwing을 코드에게 방법을 작성하는 짧고 더 좋은 방법이 있나요 ; (function (app) {

'use strict'; 

app.module('base.base_documents.views', function (module, App, Backbone, Marionette) { 


    module.CustomView = Marionette.CompositeView.extend({ 
    ... 
    }); 
}(app)); 

답변

1

귀하의 의견은 (네임 스페이스 현명한) 보관 위치에 따라, 당신은 인생에 app.base.base_documents.views을 전달할 수 :

;(function(app, views){ 

    'use strict'; 

    app.on('start', function(){ 
     var view = new views.DokumentenView(); 
     view.render(); 
    }); 
})(window.app, window.app.base.base_documents.views); 

그러나 사람들을 위해이 같은 행동을 할 필요가있다, 그래서 당신은 다른 중첩 된 네임 스페이스 내부 의견이있을 수 있습니다 - 어떤 결국 비슷한 결과가 나온다. 보기를 렌더링 할 때 네임 스페이스를 단계적으로 내려가거나 매개 변수를 전달할 때 네임 스페이스를 수행합니다.

+0

감사합니다. 귀하의 해결 방법을 수행하면 다음과 같은 오류 메시지가 나타납니다. backbone.marionette.js : 2171 잡히지 않은 TypeError : this._initChildViewStorage가 함수가 아닙니다 (...) 어떤 아이디어? 생성자 \t @ \t backbone.marionette.js : 2171 생성자 \t @ \t backbone.marionette.js : 2881 아이 \t \t @ backbone.js : 1884 (익명 함수) \t VM1691 \t @ : 1 개 성공 \t \t @ app.js : 38 화재 \t \t @ jquery.js : 974 fireWith \t @ \t jquery.js : 1084 done \t @ \t jquery.js : 7803 콜백 \t @ \t jquery.js : 8518 –

+0

그게 무엇인지 모릅니다. 응용 프로그램과 관련된 소리입니다. 'views' 매개 변수가 실제로 당신이 기대하는 것임을 확인하고'DokumentenView'가 객체 내부에 존재하는지 확인하십시오 ('views'). – MartinHN

+1

고마워요. –