现在我明白这可以通过引用来自其模型的视图来实现。然而,我试图坚持Backbone.js的“最佳实践”,在那里被认为是糟糕的做法 - 模型 - >视图往往是一对多的关系。Backbone.js从集合中获得以前的视图
我的问题是这样的(代码样本,以帮助您直观的问题):
我的分组视图的阵列。每个视图的分组数组都包含来自多个集合的视图。例如,
var views; // Assume views is pre-populated with an array of views, each view's model may be stored in a different collection.
var viewGroups = _.groupBy(views, function(view) {
return view.model.attributes.timestamp; // Unix timestamp for example
});
当我通过我需要访问直接来自每个视图的模型前,在它的收藏模型的观点分组视图循环。
我能够访问以前的模型集合中,像这样:
_.each(viewGroups, function(viewGroup) {
_.each(viewGroup, function (view) {
var model = view.model;
var collection = model.collection;
var previousModel = collection.at(collection.indexOf(model) - 1);
});
});
但因为没有从模型隶属关系,它的意见,我无法找出哪些视图订阅以前的型号在集合中。
var previousModelsViews = ???
我将如何做到这一点之后的设计模式,模型是无知的观点。
你真的需要访问的看法,或者你想要的视图来执行的东西? – Loamhoof 2013-04-24 11:23:49
@Loamhoof我需要访问视图,因为我需要执行DOM操作。 – 2013-04-24 11:54:21
然后我想你可以在之前的模型中触发一个自定义事件,并让视图做他们的东西。 – Loamhoof 2013-04-24 12:02:46