0

열보기에서 OS X의 Finder와 유사한 기능을하는 일반 객체 브라우저 플러그인을 디자인하고 있습니다. 몇 가지 중첩 된보기, 브라우저, 열 및 개체로 인터페이스를 나누었습니다.중첩 된 뷰를 개별적으로 확장 할 수 있도록 Backbone.View 기반 플러그인을 어떻게 구성 할 수 있습니까?

브라우저보기, 객체보기 및 열보기가 사용자 정의 될 필요가없는 여러 시나리오에서이 플러그인을 사용하게됩니다. 때때로 객체는 예를 들어 파일과 폴더가됩니다. 내가 종속성 주위에 전달하는 RequireJS를 사용하고있는 순간

This is OS X's Finder in column view in case you don't know what it looks like.

그러나 단순히 상속과의 ObjectView을 확장 위해, 나는 전체 스택을 교체해야합니다.

플러그인을 확장 할 수있는 더 나은 구조가 있습니까?

브라우저와 같은 다른 개체를 사용하여 백본과 같은 종류의 서로 다른 이름 공간을 사용할 수있는 세 가지보기를 저장할 수 있습니까?

RequireJS는 어떻게 생겼습니까?

BrowserView.js

var BrowserView = Backbone.View.extend({ 

    open: function() { 
     var collectionView = new CollectionView({collection: objects}); 
    } 

}); 

CollectionView.js

var CollectionView = Backbone.View.extend({ 

    render: function() { 

     this.collection.each(function (object) { 
      var objectView = new ObjectView({model: objects}); 

      objectView.bind('click', this.select, this); 

      this.container.append(objectView.el); 

      objectView.render(); 

      this.objectViews.push(objectView); 
     }, this); 

    }, 

}); 

ObjectView.js

var ObjectView = Backbone.View.extend({ 

}); 

감사합니다 일에 XX

답변

2

나는 둘 것입니다 이러한보기 동일한 모듈.

모듈의 목적은 RequireJS 또는 일반 자바 스크립트 모듈을 사용하든 상관없이 특정 목적을 위해 관련 개체 및 기능 집합을 캡슐화하는 것입니다. 이 경우 Finder보기가 목적입니다.

모든 관련 개체를 동일한 파일에 보관하면 개체를 함께 사용하는 방법에 대해 더 많은 자유와 유연성을 얻을 수 있습니다. 보조 노트로


,하지만 당신이 무슨 일을하는지와 관련, 당신은 내 Backbone.Marionette 플러그인의 "의 CompositeView"에서이 일을 만드는 방법에 대한 몇 가지 아이디어를 얻을 수 있습니다. 이전에 폴더 및 파일의 계층 적 트리보기를 구축했으며 Finder의 열보기도 함께 구축하기가 쉽습니다.

내 플러그인을 사용해야한다고 제안하는 것은 아닙니다. 오히려 코드를 구조화하는 방법을 파악하는 데 도움이 될 것이라고 생각합니다. 여기 https://github.com/derickbailey/backbone.marionette

그리고 복합 뷰에 대한 주석 소스 코드 : http://lostechies.com/derickbailey/2012/04/05/composite-views-tree-structures-tables-and-more/

당신은 코드와 문서 여기를 찾을 수 있습니다

나는 여기에 대해 이야기 블로그 포스트있어 http://derickbailey.github.com/backbone.marionette/docs/backbone.marionette.html#section-26

관련 문제