Backbone 从哪里获取的最佳实践 models/collections
Backbone best practices where to fetch models/collections
我继承了一个遵循以下格式的代码库:路由器设置控制器,控制器获取所需的 collection/model,然后控制器 set/passes 查看 collection/model .
我正在处理的当前视图加载了一个集合,现在我需要构建一个功能,在该功能中我在视图呈现后根据单击的 ID 获取单个模型(注意模型来自不同的集合)。
我只想加载模型 when/if 他们单击一个按钮。所以我的问题是,我可以在视图中设置 model/fetch 吗,还是应该在控制器中设置?采用这样的 controller/view 设置时是否有 backbone 最佳实践?
我之所以问,主要是因为直接在视图中添加这项新功能对我来说似乎更容易。但这是一种不好的做法吗?我是这么认为的,所以我开始沿着在视图中触发事件的路径让控制器获取模型,然后以某种方式将其传递回视图(但我不确定该怎么做)。 ..似乎有很多不必要的跳圈动作?
可以通过视图获取集合。由于'plain'backbone没有Controller,View负责它的职责。
但是恕我直言,通过控制器获取集合是更好的做法,它更容易扩展、支持和测试。
唯一的困难是设置Controller和View上下文事件之间的通信。其中一种方法是在
等上下文事件上触发消息总线事件
events: {
'click .some': function() {
this.trigger('someHappend', { some: data })
}
}
并在控制器中监听这个事件
this.on(someViewInstance, 'someHappend', function() {
// do something in controller
})
如果您已经继承了具有您描述的结构的代码,您最好遵循它。此外,您可能对 MarionetteJS as significant improvement. Also highly recommend you to checkout BackboneRails、不是免费但非常有用的截屏视频感兴趣,尤其是在维护大型应用程序方面
我继承了一个遵循以下格式的代码库:路由器设置控制器,控制器获取所需的 collection/model,然后控制器 set/passes 查看 collection/model .
我正在处理的当前视图加载了一个集合,现在我需要构建一个功能,在该功能中我在视图呈现后根据单击的 ID 获取单个模型(注意模型来自不同的集合)。
我只想加载模型 when/if 他们单击一个按钮。所以我的问题是,我可以在视图中设置 model/fetch 吗,还是应该在控制器中设置?采用这样的 controller/view 设置时是否有 backbone 最佳实践?
我之所以问,主要是因为直接在视图中添加这项新功能对我来说似乎更容易。但这是一种不好的做法吗?我是这么认为的,所以我开始沿着在视图中触发事件的路径让控制器获取模型,然后以某种方式将其传递回视图(但我不确定该怎么做)。 ..似乎有很多不必要的跳圈动作?
可以通过视图获取集合。由于'plain'backbone没有Controller,View负责它的职责。
但是恕我直言,通过控制器获取集合是更好的做法,它更容易扩展、支持和测试。
唯一的困难是设置Controller和View上下文事件之间的通信。其中一种方法是在
等上下文事件上触发消息总线事件events: {
'click .some': function() {
this.trigger('someHappend', { some: data })
}
}
并在控制器中监听这个事件
this.on(someViewInstance, 'someHappend', function() {
// do something in controller
})
如果您已经继承了具有您描述的结构的代码,您最好遵循它。此外,您可能对 MarionetteJS as significant improvement. Also highly recommend you to checkout BackboneRails、不是免费但非常有用的截屏视频感兴趣,尤其是在维护大型应用程序方面