私は、本のリストを描くことになっている私のEmberアプリケーションの単純な部分を持っています。問題は、書籍がサーバーから読み込まれる前にユーザーがリストにアクセスすると、リストが空になることです。データの読み込みが完了した後でも、リストは空のままです。
データがロードされた後にEmberがビューを更新するために必要なメソッドは何ですか?そして、このコードを置くのに適切な場所はどこでしょうか?私のコードは次のようになります。
ルート:
App.MyRoute = Ember.Route.extend({
model: function() {
return App.store.find(App.Book); // get books from the server
}
});
レンプレート:
{{#each book in model}}
<li {{ bindAttr data-book-id="book.id" }}>
<span>{{ book.name }}</span>
</li>
{{/each}}
記録のために、私はこのようなことをしたいと思います:
{{#if model.get('isLoaded')}}
{{#each book in model}}
<li {{ bindAttr data-book-id="book.id" }}>
<span>{{ book.name }}</span>
</li>
{{/each}}
{{else}}
<span>Loading books...</span>
{{/#if}}