2013-01-16 2 views
0

나는/백본 developpment을 필요로하는 새로운 해요, 난 내가 뷰를 작성하는 레드 두 가지 방법을했습니다 무엇 :백본보기 끝에서 무엇을 반환해야합니까?

1 ID :

define([ 
'jquery', 
'backbone', 
'underscore' 
], function($, Backbone, _){ 
    var View = Backbone.View.extend({ 
    ... 
    }); 
    return View; 
}); 

2입니다 :

define([ 
'jquery', 
'backbone', 
'underscore' 
], function($, Backbone, _){ 
    var View = Backbone.View.extend({ 
    ... 
    }); 
    return new View; 
}); 

3 번째 :

define([ 
'jquery', 
'backbone', 
'underscore' 
], function($, Backbone, _){ 
    var View = Backbone.View.extend({ 
    ... 
    }); 
}); 

누군가 저에게 설명을 쓰는 3 가지 방법의 차이점을 설명해 주나요? 미리 감사드립니다.

답변

3

첫 번째 예제는 인스턴스화 할 수있는 객체, 원하는 경우 클래스를 반환합니다.

var module = require('example1'), 
myObject = new module(); 

두 번째는 후속 호출이 동일한 개체를 반환 할 때 기본적으로 싱글 톤을 반환합니다.

var myObject = require('example2'); 

마지막으로 반환 할 것이 없지만 100 % 확신 할 수는 없지만 꽤 쓸모 없다고 생각합니다.

+0

# 3은 "보기"var가이 모듈에만 적용되므로 # 3은 100 % 쓸모가 없습니다. # 3을 유용하게 만들려면 View를 전역에 연결해야합니다 :'window.View = ...' –

관련 문제