在使用计算属性时,延迟子视图渲染,直到获取相关模型?

时间:2013-04-16 14:22:09

标签: ember.js

我正在尝试制作这个ember应用程序,其中一个控制器依赖于另一个控制器:

App.BooksController = Ember.ArrayController.extend({
itemController: 'book'
});

App.BookController = Ember.ObjectController.extend({
needs: 'books',
formattedPrice: function(){
    return "$"+this.get('price').toFixed(2);
}.property('price'),

imageUrl: function(){
    var img = this.get('image');
    return "http://localhost/book-store-restful-api/images/book_covers/"+img;
}.property('image')
});

有两条路线:#/books#/books/book_id

当我导航到#/books时,我会看到包含所有书籍的列表,以及指向每个书籍控制器的链接。当我点击它时,它按预期工作,显示一些单独的书籍信息。但是,如果我浏览到1 #/books/book_id(它在books模板内部渲染),那么书籍列表就会被渲染,但看起来子模板在获取相关模型之前会被渲染,因此在导航时直接地,所有单独的书籍属性都是undefined。如果我在加载后点击相应的链接,则数据可用。

简而言之,无论如何,是否要告诉BookController它只是在获取模型数据后呈现关联的单本子视图?

0 个答案:

没有答案