【发布时间】:2012-05-15 12:52:02
【问题描述】:
我需要显示与three different model 或集合相关的three different views。
为了执行此任务,我编写了以下代码。 (*)
请告诉我这是否是正确的方法,无论如何它是有效的。
这是我的问题。
在其中一个视图中,假设firstView,可以向服务器执行DELETE request,该服务器注意删除与此three view相关的所有数据。
现在我需要删除我的三个视图...
但从firstView 我无法访问其他两个视图。
1) 我该如何执行此任务?
2) 我应该重新设计/改进我的实现吗?
(*)
// module for display three different views
define([
"js/views/01View",
"js/views/02View",
"js/views/03View"
], function (FirstView, SecondView, ThirdView) {
var MainView = Backbone.View.extend({
initialize: function ()
{
this.render();
},
render: function ()
{
var movie_id = this.options.movie_id;
this.firstView = new FirstView(movie_id);
this.secondView = new SecondView(movie_id);
this.thirdView = new ThirdView(movie_id);
}
});
return MainView;
});
附:
_id用于构建集合或模型的url参数
url1: http://localhost/movie/movie_id (model1)
url2: http://localhost/movie/movie_id/followers (collection2)
ulrs: http://localhost/movie/movie_id/feeds (collection3)
当我删除模型1时,与collection2和collection3相关的view2和view3应该被删除。
【问题讨论】:
-
我对您的评论感到困惑,您说您有三个不同的视图和三个不同的模型,但您将相同的 model_id 传递给您的视图。
-
model_id(相同的id)用于对服务器执行三种不同的抓取,对应三种不同的数据模型。我将就我的问题添加更多信息。
-
感觉您是在围绕视图构建数据,而不是围绕数据构建视图。查看以下 Backbone 插件:github.com/PaulUithol/Backbone-relational 并正确设置数据之间的关系。
-
是的,你是对的,可能是因为 html 和 restapi 已经准备好了,我负责实现 bb。无论如何,您认为解决问题的唯一方法是使用 Backbone-relational 吗?对我来说现在有一个快速的解决方案会很棒。
标签: javascript backbone.js backbone-relational backbone-views