我在基于SharePoint的自定义应用程序之上构建基于Backbone.js的界面,该应用程序使用SOAP进行通信(我使用优秀的SPServices jQuery库与Web服务进行通信)。据我所知,Backbone模型使用REST架构来获取和更新数据。
因此,如果我必须自定义CRUD操作,我必须覆盖哪些模型方法?是否有我可以使用的骨架示例?
答案 0 :(得分:2)
您需要覆盖Backbone.sync函数。
以下是文档:http://documentcloud.github.com/backbone/#Sync
作为参考,这是默认Backbone.sync函数的源代码:https://github.com/documentcloud/backbone/blob/master/backbone.js#L1012
答案 1 :(得分:2)
SharePoint 2010实现了REST接口,您可以使用此接口在SharePoint中执行CRUD操作。
In this page您可以找到更多信息。
骨干集合只需要指定正确的URL和简单的解析函数。
window.Products = Backbone.Collection.extend ({
model: Product,
url: "/_vti_bin/listdata.svc/Products",
parse: function(response) {
return response.d.results;
}
});
答案 2 :(得分:1)
如果您使用的是SharePoint 2010,则可以考虑使用SharePoint REST界面(ListData.svc),这很容易连接到Backbone。您需要提供自定义的parse()和sync()方法。
我为SharePoint编写了一个Backbone插件,您可能会发现它非常有用。它基于此REST接口为SharePoint项目提供完整的CRUD。它展示了如何扩展Backbone的模型和集合,并使用自定义sync()和parse()来轻松使用SharePoint项目和列表。
使用此插件,您可以像这样编写对SharePoint的访问权限:
var Contact = Backbone.SP.Item.extend({
site: '/teamsite',
list: 'Contacts'
});
var contact = new Contact({LastName: "Delaney"});
var contact.save();
您可以在GitHub上找到该插件:https://github.com/lstak/Backbone.SharePoint