2
我使用backbonejs和underscorejs。我有一个Person
模型,getFullName()
函数和Persons
集合与getSummary()
应该返回所有人的全名。我目前的实现是:在集合中使用_.map中的模型函数
var Person = Backbone.Model.extend({
defaults: {
name: '',
surname: ''
},
getFullName: function() {
return this.get('name') + ' ' + this.get('surname');
}
});
var Persons = Backbone.Collection.extend({
model: Person,
getSummary: function() {
return _.map(this.models, function(person) {
return person.getFullName();
}).join(', ');
}
});
console.log(
new Persons([
{name: 'john', surname: 'smith'},
{name: 'mary', surname: 'poppins'}
]).getSummary()
);
这工作很好,我在控制台中出现以下信息:
john smith, mary poppins
我的问题是,我不希望在getSummary()
功能如此详细。我想简单地能够传递模型的功能,而不必创建一个函数来调用它。也许这样的事情:
getSummary: function() {
return _.map(this.models, 'model.getFullName').join(', ');
}
这是可能以某种方式?