繁体   English   中英

从RESTful服务查看骨干数据

[英]Viewing in backbone data from RESTful service

我正在尝试使用客户端的主干以及python / flask作为服务从服务导入的集合。 当我发出GET请求时,我得到以下数据:

{"entries": [{"Title": "my title 1", "Description": "My desc 1", "Info": "Info 1", "ids": 1}, {"Title": "my title 2", "Description": "My desc 2", "Info": "Info 2", "ids": 2}]}

但是,即使我使用访存,这些条目也不会显示在我的页面上。 这是我的ListView代码:

var app = app || {};

app.ContactListView = Backbone.View.extend({
 el: '#contacts',

initialize: function () {

    this.collection = new app.ContactList();
this.collection.fetch({reset: true});
    this.render();
this.listenTo( this.collection, 'reset', this.render );
},


render: function () {
    this.collection.each(function( item ){
    this.renderContact( item );
}, this );
},

renderContact: function ( item ) {
    var contactView = new app.ContactView({
        model: item
    });
    this.$('#ContactTable').append( contactView.render().el );
}
});

可能是什么原因?

原因是因为您的集合期望模型数组作为其响应,但是您的服务正在返回条目下的数组。 文档中

服务器在获取时返回集合的模型时,Backbone就会调用parse。 该函数将传递给原始响应对象,并且应返回要添加到集合中的模型属性数组

要解决此问题,您可以简单地重写您的parse方法以返回模型数组。

例如:

app.ContactList = Backbone.Collection.extend({
      //...
     parse: function (response) {
         return response.entries;
     } 
})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM