Ember.js 余烬模型和计算属性的问题

Ember.js 余烬模型和计算属性的问题,ember.js,Ember.js,我有一个图书模型,我使用mapBy()computed属性检索模型中的所有价格所有价格:mapBy('books','price') 然后我使用max()获得最高值最大价格:最大(“所有价格”)该部件按预期工作。 我的问题是,我想显示最高价格和与该价格相关的书名,但我不知道怎么做 <h2>Max book price: {{format-currency maxPrice}} </h2> <h2>Which belongs to the book {{book

我有一个图书模型,我使用
mapBy()
computed属性检索模型中的所有价格<代码>所有价格:mapBy('books','price') 然后我使用
max()
获得最高值<代码>最大价格:最大(“所有价格”)该部件按预期工作。 我的问题是,我想显示最高价格和与该价格相关的书名,但我不知道怎么做

<h2>Max book price: {{format-currency maxPrice}} </h2>
<h2>Which belongs to the book {{book.title}} </h2>
Max book price:{{format currency maxPrice}
它属于{{book.title}一书
如何做到这一点?任何帮助都将不胜感激。

所以有几件事:

你需要的是书本身的最高价格。 为了达到这个目的,只需按价格降序对书籍进行排序,然后得到第一本

完成此操作后,模板将变为:

<h2>Max book price: {{format-currency bookWithMaximumPrice.price}} </h2>
<h2>Which belongs to the book {{bookWithMaximumPrice.title}} </h2>
一种更简单的方法是使用计算宏首先按价格排序,然后获得第一个:

sortProperties: ['price:desc'],
booksSortedByPrice: computed.sort('books', 'sortProperties'),
bookWithMaximumPrice: computed.readOnly('booksSortedByPrice.firstObject')

使用排序计算属性-

sortProperties: ['price'],
sortedBooks: sort('books', 'sortProperties'),
highestPricedBook: alias('sortedBooks.lastObject')

{{highestPricedBook.price}}
{{highestPricedBook.name}}
sortProperties: ['price'],
sortedBooks: sort('books', 'sortProperties'),
highestPricedBook: alias('sortedBooks.lastObject')

{{highestPricedBook.price}}
{{highestPricedBook.name}}