BackboneJS - 使用.max从Model获取特定值

时间:2014-06-26 13:47:49

标签: backbone.js

所以我有这个:

var competitionModel = new Competition.CompetitionModel();
competitionModel.contest_id = this.contest_id;
this.insertView('.comp', new Competition.View({model: competitionModel}));
competitionModel.fetch();

到目前为止,模型及其(选定)值正在<div class="comp">显示。

现在我想从同一个模型中获取一个特定值,在本例中为profile_image,它必须是模型中的MAX值。我读了一些关于.max() - 方法的内容,但我不知道如何使用它

我有这个结构:

<div class="image"></div>
<div class="comp"></div>

1)有可能吗? 2)我可以使用相同的方法吗?比如this.insertView('.image', blablab)

那么,有人可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

好的,根据您的评论判断,该属性是一系列事物。

您不能使用主干max(仅适用于集合)但您可以使用下划线max(它们是相同的,最后,前者是后者的包装器但是我们不详细说明。您可以在行动here中看到集合.max()

你应该可以这样做:

var max = _.max(competitionModel.get("property"));

最终你可以传递一个函数来转换值:

var max = _.max(competitionModel.get("property"), function (element) {
     // element is a single item in the list, return a number here.
});

或者您也可以使用下划线包装:

var max = _(competitionModel.get("property")).max(function (e) { ... });

可以在Underscore Docs找到max()的更多信息。