我正在尝试制作这个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
它只是在获取模型数据后呈现关联的单本子视图?