【发布时间】:2015-09-02 05:22:55
【问题描述】:
我有一个骨干集合,它使用 fetch 方法从服务器获取对象数组,而我要做的只是循环遍历模板中的每个对象并读取其属性。以下是集合和模板
APP.MyObjects = Backbone.Collection.extend({
url: '/api/objects/',
model: APP.MyObject,
initialize: function() {
this.fetch();
}
});
APP.myObjects = new APP.MyObjects(); // Fetches the data
现在在模板中我要做的是:
<% _.each(APP.myObjects.toJSON(), function(obj) {%>
<%= obj.title %>
<% }); %>
我面临的问题是Collection.fetch 调用是异步的,所以在渲染模板时APP.myObjects.toJSON 的长度是0。所以我看不到对象属性,即使在异步获取调用完成后,模板也不会更新。
问题:
如何在APP.myObjects 列表更新或更改时自动更新模板?在 Angular 中,我们将 watch 用于我想要实现的目标,我对骨干和下划线还很陌生,所以我想知道实现这一目标的最佳方法是什么。
【问题讨论】:
标签: javascript templates backbone.js underscore.js