Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Collections Backbonejs附加集合属性_Collections_Backbone.js - Fatal编程技术网

Collections Backbonejs附加集合属性

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

在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

是否有可能听到该公共属性的更改?这个问题的讨论是否有帮助:有代码示例吗?这将用于什么?在我的例子中,它是用来跟踪用户的选择。我有许多可以通过用户名访问的评论,当前选择的用户的评论是要显示的。收集了所有的评论。我找不到更好的地方来存储所选用户名(可能有)…问题是toJSON方法没有正确返回修改过的集合,但我通过重载该方法解决了这个问题(实际上我编写了一个新的方法)。