使用非异步路由器,我们可以期望路由上的重定向仅在从模型函数解析promise后才会被调用。情况不再如此。
今天如何实施这样的事情?
App.ClientRoute = Ember.Route.extend
model: (params) ->
App.Client.findById params.client_id
redirect: ->
unless @modelFor 'client'
@transitionTo 'clients'
使用非异步路由器,我们可以期望路由上的重定向仅在从模型函数解析promise后才会被调用。情况不再如此。
今天如何实施这样的事情?
App.ClientRoute = Ember.Route.extend
model: (params) ->
App.Client.findById params.client_id
redirect: ->
unless @modelFor 'client'
@transitionTo 'clients'
从 RC6 开始,您可以这样实现:
App.ClientRoute = Ember.Route.extend
model: (params) ->
App.Client.findById params.client_id
afterModel: (resolvedModel)->
unless resolvedModel
@transitionTo 'clients'
这是 Ember.js 的新异步路由器开发人员的两个要点,它们将解释新行为并向您展示一些示例:
希望他们能帮助你——我现在正在阅读和跟进,我认为一切都得到了很好的解释;)