骨干调用url
方法与集合作为上下文,因此您可以通过this
访问您的集合实例的成员变量。
var MyCollection = Backbone.Collection.extend({
url: function() {
return "base-url/" + this.username + "/path";
},
});
要instanciation后使用此,您可以手动设置您的收藏的username
领域或者你可以重写你的收藏的sync
方法。
var MyCollection = Backbone.Collection.extend({
url: function() {
return "base-url/" + this.username + "/path";
},
sync: function(method, model, options) {
options = options || {};
if (options.username) this.username = options.username;
// call the default sync
return Backbone.collection.prototype.sync.call(this, method, model, options);
}
});
并使用它:
myCollection.fetch({ username: "Mac" });
如何知道网址怎么叫
我骨干的annotated source的忠实用户,它是作为非常重要的附加信息很多Backbone的功能都没有文档记录,而且源代码很小且很容易通过。
如果检查sync
方法,你应该看到一行:
params.url = _.result(model, 'url') || urlError();
如果你检查下划线的result
功能,你可以看到,它调用这样的功能(作为字符串传递):
return _.isFunction(value) ? value.call(object) : value;