J'ai des objets comme celui-ci:commande personnalisée à l'aide orderBy en ng répétition
students = {name: 'Aa_Student', class: 'A_Class'},
{name: 'Ab_Student', class: 'A_Class'},
{name: 'Ac_Student', class: 'B_Class'},
{name: 'Ba_Student', class: 'B_Class'},
{name: 'Bb_Student', class: 'C_Class'},
{name: 'Bc_Student', class: 'C_Class'}
Disons que les étudiants objet est brassés. J'utilise ng-repeat pour montrer les données. Je veux trier les objets dans l'ordre personnalisé.
Par exemple, je veux montrer les données comme ceci:
Name Class
-----------------------------
Ac_Student B_Class
Ba_Student B_Class
Aa_Student A_Class
Ab_Student A_Class
Bb_Student C_Class
Bc_Student C_Class
Donc, fondamentalement, je veux commander par la classe de l'élève, mais il B_Class vient d'abord, puis A_Class, puis C_Class. Aussi, je veux commander par nom des étudiants dans l'ordre alphabétique. Comment puis-je faire ceci?
HTML:
<table>
<tr ng-repeat="student in students | orderBy:customOrder">
...
</tr>
</table>
Controller:
$scope.customOrder = function(student) {
$scope.students = $filter('orderBy')(student, function() {
});
};
Il y a deux façons de le faire (1) Filtre Personnalisé (2) Court vos données au niveau du contrôleur – dhavalcengg
@dhavalcengg Donc, je dois utiliser un filtre? –
Attention à la faute de frappe dans '$ scope.studens' (manquant un t) – Gamb