控制器在Backbone.js中的角色
如果我创建了一个具有3种不同“状态”的标准webapp:索引、查看、编辑,我会创建一个具有3种不同路由的控制器吗 假设索引有4个主干。与之关联的视图和编辑有3个。如果从索引导航到编辑:只需删除所有索引主干视图并呈现编辑视图就可以更改页面外观,这是标准做法吗?这似乎需要做很多工作——在模式之间切换时,切换“显示:无”是否明智?如果是,该功能是否在控制器的功能范围内 例如,以下是一种有效的方法吗控制器在Backbone.js中的角色,backbone.js,Backbone.js,如果我创建了一个具有3种不同“状态”的标准webapp:索引、查看、编辑,我会创建一个具有3种不同路由的控制器吗 假设索引有4个主干。与之关联的视图和编辑有3个。如果从索引导航到编辑:只需删除所有索引主干视图并呈现编辑视图就可以更改页面外观,这是标准做法吗?这似乎需要做很多工作——在模式之间切换时,切换“显示:无”是否明智?如果是,该功能是否在控制器的功能范围内 例如,以下是一种有效的方法吗 window.MyController = Backbone.Controller.extend({
window.MyController = Backbone.Controller.extend({
routes: {
'#index':index,
'#view/:id':view,
'#edit/:id':edit
},
switchState: function(state){
hideStates();
showState(state);
},
index: function(){
switchState(index)
},
view: function(id){
switchState('view')
},
edit: function(id){
switchState('edit')
}
})
这正是你应该做的。重新渲染是个坏主意,因为您必须记住状态(即,用户在“编辑”选项卡的字段中键入内容,然后切换到“索引”-当他返回编辑时,字段将为空)。将导航建立在隐藏和显示适当层的基础上也会更快