我正在设计一个通用对象浏览器插件,其功能类似于 OS X 的列视图中的 Finder。我已将界面划分为几个嵌套视图、浏览器、列和对象。
我将在浏览器视图、对象视图和列视图可能需要或可能不需要自定义的几种情况下使用此插件。例如,有时对象将是文件和文件夹。
这是 OS X 的列视图中的 Finder,以防您不知道它的外观。
目前我正在使用 RequireJS 传递依赖项,但是为了简单地继承和扩展 ObjectView,我必须替换整个堆栈。
有没有更好的结构可以扩展插件但只是一部分?
浏览器视图.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 );
},
});
对象视图.js
var ObjectView = Backbone.View.extend({
});