2012-10-11 2 views
2

백본 + 요구 사항으로 응용 프로그램을 개발하기 시작합니다. 몇 가지보기간에 모델의 동일한 인스턴스를 공유하려고합니다. 모델을 싱글 톤으로 정의 했으므로 모든 뷰가 모델의 동일한 인스턴스에 액세스합니다.모델, 패턴 또는 반 패턴 간의 Backbone.js 공유

나는 두 가지 옵션이 평가 한 :보기

2.Share

뷰의 모델의 동일한 인스턴스를 전달하는 매개 변수로 모델의 인스턴스

1. 한 이벤트.

define(['Underscore','Backbone'], 
function(_, Backbone) { 
    var Experience = Backbone.Model.extend({ 
     defaults: { 
      'id' : 1,   
      'date' : '2012-10-11 ' 
     } 
    }); 
    if (this.model === undefined) return new Experience(); 
}); 

그리고 내가보기

define([ 'jQuery','Underscore','Backbone','models/experience' 
], function($, _, Backbone, Experience){ 
    var MyView1 = Backbone.View.extend({  
      initialize: function() {    
       this.model = Experience; 
       .... 

이 방법이 모든 뷰에 모델을 결합 :

내 모델에 새로운 라인을 추가, 두 번째 옵션을 선택한 그것을 공유하는 모델.

백본의 모델 인스턴스를 공유하는 더 좋은 방법이 있습니까? 이벤트와 인스턴스를 매개 변수로 사용하는 것이 더 좋을까요?

답변

0

IMHO 싱글은 귀하의 경우에 들어가는 길입니다.

보기에 인스턴스를 전달하면 많은 모델간에 공유되는 매우 일반적인보기의 경우 유용 할 수 있으며 사용자의 경우가 아닌 경우 볼 수 있습니다.

+0

싱글 톤이든 아니든간에, 나는 개인적으로 백본과 함께 자신의 옵션을 통해 모델을 수락하고 뷰의 작성자가 싱글 톤 모델 인스턴스 사용에 대해 걱정하지 않도록 개인적으로 디자인 할 것입니다. – Greg