[英]Automatically updating backbone underscore template
我有一个骨干集合,该集合使用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
来实现我想达到的目标,我对骨干和下划线还不陌生,所以我想知道实现此目标的最佳方法是什么。
我只需要在视图的initialize
方法中添加此行,以确保在更新后重新呈现模板。
MyObjectListView = Backbone.View.extend({
initialize: function(){
this.listenTo(APP.myObjects, 'update', this.render);
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.