使用 Backbone.Rpc 插件 [ https://github.com/asciidisco/Backbone.rpc ] 我试图在获取集合时在 read 方法上发送参数。使用单个模型实例时,您可以通过设置模型属性的值向方法调用添加参数。
var deviceModel = Backbone.model.extend({
url: 'path/to/rpc/handler',
rpc: new Backbone.Rpc(),
methods: {
read: ['getModelData', 'id']
}
});
deviceModel.set({id: 14});
deviceModel.fetch(); // Calls 'read'
// Request created by the 'read' call
{"jsonrpc":"2.0","method":"getModelData","id":"1331724849298","params":["14"]};
我知道没有相应的方法可以在获取集合之前做类似的事情,因为骨干集合没有可用的“设置”方法。
var deviceCollection = Backbone.collection.extend({
model: deviceModel,
url: 'path/to/rpc/handler',
rpc: new Backbone.Rpc(),
methods: {
read: ['getDevices', 'deviceTypeId']
}
});
// This is not allowed, possible work arounds?
deviceCollection.set('deviceTypeId', 2);
deviceCollection.fetch();
// Request created by the 'read' call
{"jsonrpc":"2.0","method":"getDevices","id":"1331724849298","params":["2"]};
是否可以使用 Backbone.Rpc 将参数传递给收集方法?还是我需要在 fetch 方法的数据对象中传递集合过滤器?