[这是关于新的1.0.0-pre.4 +路由器。]灰烬路由器:异步模型(承诺?)
我想从灰烬路线的model
方法返回一个需要异步回调至创纪录加载,例如因为它要求我们加载多个(嵌套)模型。什么是最好的方法来做到这一点?
下面是一个假设的博客应用程序示例代码,说明了这个问题:你怎么样在模型本身添加一个观察者,对模型的isLoaded状态,然后调用blog.get(property)
App.Router.map ->
@resource 'filteredArticles', path: '/:filter'
App.FilteredArticlesRoute = Ember.Route.extend
model: (params) ->
blog = App.Blog.find(1) # get the user's Blog singleton
property = switch params.filter
when 'published' then 'publishedArticles'
when 'draft' then 'drafts'
when 'all' then 'articles'
# Return the list of articles from the `blog` record.
# But `blog` hasn't necessarily finished loading :(
blog.get(property)
据我所知,如果你只是返回'blog.get(属性)'它将返回另一个承诺,这将被提取异步。 – 2013-02-11 15:29:08
我希望它能做到,但它只是返回一个永远不会更新的空数组 - 即使重新运行App.Blog.find(1).get('articles')时产生一个非空数组。 – 2013-02-11 16:51:33
感觉更像是一个github问题:) – 2013-02-11 17:59:24