0

私は、あるコントローラーが別のコントローラーに依存するこの残り火アプリを作成しようとしています:

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')
});

そして、2 つのルートがあります#/books#/books/book_id

に移動する#/booksと、すべての書籍のリストと、個々の書籍コントローラーへのリンクが表示されます。クリックすると、期待どおりに機能し、個々の書籍情報が表示されます。しかし、1 を参照すると#/books/book_id(テンプレート内でレンダリングbooksされます)、書籍のリストがレンダリングされますが、関連するモデルがフェッチされる前にサブテンプレートがレンダリングされるように見えるため、直接ナビゲートすると、個々の書籍のプロパティはすべてundefined. ロード後に対応するリンクをクリックすると、データが利用可能になります。

一言で言えば、BookControllerモデル データがフェッチされた後、関連する単一のブック サブビューのみをレンダリングするように指示する方法はありますか?

4

0 に答える 0