是否考虑Ember.js保持模型交互的最佳实践 - 比如说 - 在路线中创建 - 或控制器?
一个例子:以下CoffeeScript工作正常,如果将“保存”逻辑移动到控制器中,它也可以工作。一种做法比另一种更受欢迎,如果是,为什么?
App.UsersNewRoute = Ember.Route.extend
model: ->
App.User.createRecord()
setupController: (controller, model) ->
controller.set('content', model)
events: {
save: (user) ->
user.on "didCreate", @, () ->
@transitionTo 'users.show', user
@get('store').commit()
}
答案 0 :(得分:4)
通常,如果某个操作仅影响特定控制器中的状态或该控制器前端的模型,那么您应该在控制器中处理它。如果它影响更广泛的应用程序状态(即另一个控制器),或者导致路由转换,或者应该由基于应用程序状态的不同逻辑处理,则应该在路由器中处理。