Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/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
Sorting 如何在computed中对'desc'中的数组值进行排序?_Sorting_Ember.js_Ember Data - Fatal编程技术网

Sorting 如何在computed中对'desc'中的数组值进行排序?

Sorting 如何在computed中对'desc'中的数组值进行排序?,sorting,ember.js,ember-data,Sorting,Ember.js,Ember Data,我有一个模型值,当我进行每次迭代时,它工作得很好 <ul> <li>See here : </li> {{#each selectedCreditCard.balances.tenures as |balance|}} <li>Balances is : {{balance}}</li> {{/each}} </ul> 但得到的错误如下所示: Assertion Failed: When u

我有一个模型值,当我进行每次迭代时,它工作得很好

<ul>
    <li>See here : </li>
    {{#each selectedCreditCard.balances.tenures as |balance|}}
    <li>Balances is : {{balance}}</li>
    {{/each}}
</ul>
但得到的错误如下所示:

Assertion Failed: When using @each to observe the array 3,8,12,24, the array must return an object
如何解决这个问题?如果您查看
Ember.computed.sort的定义,请帮助我;它需要一个属性键(在您的情况下是
selectedCreditCard.balances.tenures
)和一个排序定义(在您的情况下是
sortTenuresBy
)。然而,如果你看看提供的例子;排序定义必须是普通属性名称或后跟排序类型的属性名称,如
name:desc
key:asc
等。总之,;在您的示例中,无法对普通数组使用
Ember.computed.sort
。我承认API文档很模糊

为你的情况;您必须将计算属性作为函数写入;我想这是你不想要的;因为这是常见的方式;或者你也可以利用以下方法。
ember awesome宏的好处在于您可以嵌套提供的计算宏

如果您查看的是数组.sort
;它说“结合了Array.prototype.sort()和Ember.computed.sort的功能”。所以我们可以用这个。您希望数组按降序排序;我想是这样的

sortTenuresBy: array.reverse(array.sort('selectedCreditCard.balances.tenures'))

应该有效。

主要问题是我没有值的键。它只是一个像[1,2,3,4]这样的原始数组,如果您想获得
max
,可以使用
sortTenuresBy: array.reverse(array.sort('selectedCreditCard.balances.tenures'))