[これは新しい1.0.0-pre.4 +ルータについてです。]エンバールータ:非同期モデル(約束?)
私はエンバールートのmodel
メソッドからの非同期コールバックを必要とするレコードを返すようにしたいですたとえば、複数の(ネストされた)モデルをロードする必要があるためです。これを行う最善の方法は何ですか?ここで
問題を示して架空のブログのアプリからのサンプルコードです:
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)
限り、コードの残りの部分でそれを見てみることができます非同期にフェッチされる別の約束を返します。 –
私はそうしたいと思いますが、更新されない空の配列を返します。つまり、 'App.Blog.find(1).get( 'articles')'を再実行しても空ではない配列が返されます。私にはgithubの問題のようなより多くのを感じ –
:) –