Wie kann ich ein Array nach Name oder Geschlecht sortieren, bevor es in einer v-for-Schleife angezeigt wird? https://jsfiddle.net/rg50h7hx/Ein Array in Vue.js sortieren
<div id="string">
<ul>
<li v-for="array in arrays">{{ array.name }}</li>
</ul>
</div>
// Vue.js v. 2.1.8
var string = new Vue({
el: '#string',
data: {
arrays: [
{ name: 'kano', sex: 'man' },
{ name: 'striker', sex: 'man' },
{ name: 'sonya', sex: 'woman' },
{ name: 'sindell', sex: 'woman' },
{ name: 'subzero', sex: 'man' }
]
}
})
Muss ich einen "berechneten" verwenden, oder was auch immer?
Sie könnten versuchen, eine Getter-Methode machen, die vor der Rückkehr in das Array sortiert. Edit: sieht so aus, als ob das genau das wäre, worauf Sie sich beziehen. Siehe die Dokumentation hier: https://vuex.vuejs.org/en/getters.html – Christopher
@Christopher Danke. Ich wollte pure vue studieren, vielleicht ist vuex für mich zu schwierig ... – user3798618
Ich denke du müsstest vorher die Daten vorsortieren wenn es dann eingestellt ist. Sie könnten technisch sogar etwas wie Daten machen: {arrays: [3, 2, 1] .sort()}. Beachten Sie, dass Sie die Sortierfunktion mit einem Callback verwenden müssen, um nach einer Objekteigenschaft zu sortieren. – Christopher