在backbone.js 中,是否可以向集合添加附加属性?我有一个附加的模型,但需要为所有模型实体定义一个公共属性,我自然会看到它最好位于集合级别。
有什么想法吗?
在backbone.js 中,是否可以向集合添加附加属性?我有一个附加的模型,但需要为所有模型实体定义一个公共属性,我自然会看到它最好位于集合级别。
有什么想法吗?
这是javascript,一切皆有可能!您可以将任何东西附加到集合的构造函数、集合的原型、集合的具体实例。模型也是如此。
// #1
var YourCollection = Backbone.Collection.extend({}, {sharedAttribute : 1});
var collection = new YourCollection();
console.log(collection.constructor.sharedAttribute); // 1
// #2
var YourCollection = Backbone.Collection.extend();
YourCollection.sharedAttribute = 2;
var collection = new YourCollection();
console.log(collection.constructor.sharedAttribute); // 2
// #3
var YourCollection = Backbone.Collection.extend();
YourCollection.prototype.sharedAttribute = 3;
var collection = new YourCollection();
console.log(collection.sharedAttribute); // 3
// #4
var YourCollection = Backbone.Collection.extend();
var collection = new YourCollection();
collection.sharedAttribute = 4;
console.log(collection.sharedAttribute); // 4