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(', ');
}
這是可能以某種方式?