0

サーバー (node.js) から mongodb コレクションを取得しようとしています。バックボーンを使用して、このコンテンツをテンプレート (アンダースコア) にレンダリングします。Mongodb と node.js の部分は正常に動作するため、コレクションで console.log を実行することが証明され、コレクションが表示されます。私は以下のコードを持っています (関係のないコードの一部を切り取りました):

router.js

appRouter.on('route:books', function () {
    var bookList = new BookCollection();
    bookList.fetch({
        success: function () {
            $('#content').html(new BookListView( { model: bookList } ).el);
        }
    });
});

bookListView.js

  , render: function ()  {
        var books = this.model.models;

        $(this.el).html(this.template());

        _.each(this.model.models, function(book) {
            $('.thumbnails', this.el).append(new BookListItemView( { model: book } ).render().el);
        }, this);
  }

bookListItemView.js

  , render: function ()  {
        $(this.el).html(this.template(this.model.toJSON()));
        return this;
  }

私の問題は、this.model.models = undefinedであり、なぜ同じコードが完全に機能する 5 分前に発生するのか理解できません。console.log(this.model) を実行すると、モデルのリストが表示されます。

私のコードは、Christophe Coenraets のレポhttps://github.com/ccoenraets/nodecellarに触発されています

よろしくお願いします。

4

1 に答える 1