backbone 上的抓取未填充我的模板

Fetch on backbone isn't populate my template

我在我的 collection 中进行了提取,我进行了 console.log() 并且它正在工作,但是当我设置为我的模板时不显示值。

在我看来是:

       var reposCollection = new Sice.Collections.RepositoryList();
       reposCollection.fetch();
       this.$el.html(this.template({collection: reposCollection.models}));

我的模板是:

      <% _.each(collection, function(repos) { %>
        <tr>        
          <td><%= repos.attributes.name %></td>
          <td><%= repos.attributes.description %></td>
          <td><%= repos.attributes.language %></td>
       </tr>
     <% }); %>

我不知道发生了什么!

fetch 完成之前正在呈现您的模板。需要在fetchsuccess回调中调用渲染代码:

var reposCollection = new Sice.Collections.RepositoryList();
reposCollection.fetch({
    success: (collection, response, options) => {
        this.$el.html(this.template({collection: collection.models}));
    }
});

Backbone.Collection.prototype.fetch documentation