我的 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}}