如何在 marionette.js 框架 CollectionView 中调用 Web 服务
Posted
技术标签:
【中文标题】如何在 marionette.js 框架 CollectionView 中调用 Web 服务【英文标题】:How to call a webservice in marionette.js framework CollectionView 【发布时间】:2013-09-06 10:05:15 【问题描述】:情况是我有一个看起来像这些的集合视图。
ContactManager.module('Entities', function (Entities, ContactManager, Backbone,
Marionette, $, _)
Entities.Contact = Backbone.Model.extend(
);
Entities.configureStorage(Entities.Contact);
Entities.ContactCollection = Backbone.Collection.extend(
model: Entities.Contact,
comparator: "firstName"
);
var contacts;
var initializeContacts = function ()
contacts = new Entities.ContactCollection([
id: 1,
firstName: 'Alice',
lastName: 'Arten',
phoneNumber: '555-0184'
,
id: 2,
firstName: 'Bob',
lastName: 'Brigham',
phoneNumber: '555-0163'
,
id: 3,
firstName: 'Charlie',
lastName: 'Campbell',
phoneNumber: '555-0129'
]);
;
var API =
getContactEntities: function ()
if (contacts === undefined)
initializeContacts();
return contacts;
;
ContactManager.reqres.setHandler("contact:entities", function ()
return API.getContactEntities();
);
);
目前我正在使用静态值显示联系人集合,但现在我想通过调用将返回 json 的 restful web 服务来填充它。我已经尝试了很多东西,但无法做到。
【问题讨论】:
【参考方案1】:按照这些思路应该可以工作:
Entities.ContactCollection = Backbone.Collection.extend(
model: Entities.Contact,
comparator: "firstName",
// this is the API that returns a JSON list of contacts
url: '/contacts'
);
var initializeContacts = function ()
contacts = new Entities.ContactCollection();
// ask the collection to update itself from the server.
contacts.fetch();
;
【讨论】:
感谢您的有用回答 +1。克里斯,你能帮我吗?我无法在视图中显示它。以上是关于如何在 marionette.js 框架 CollectionView 中调用 Web 服务的主要内容,如果未能解决你的问题,请参考以下文章