BackboneJS - Comparador de coleção

Descrição

Não há comparador para uma coleção. Para manter a coleção em uma ordem de classificação, usamos a propriedade comparator.

Sintaxe

collection.comparator

Exemplo

<!DOCTYPE html>
<html>
   <head>
      <title>Collection Example</title>
      <script src = "https://code.jquery.com/jquery-2.1.3.min.js"
         type = "text/javascript"></script>
      
      <script src = "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.2/underscore-min.js"
         type = "text/javascript"></script>
      
      <script src = "https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.1.2/backbone-min.js"
         type = "text/javascript"></script>
   </head>
   
   <body>
      <script type = "text/javascript">
         var MyModel = Backbone.Model.extend();      //'LangNames' is a model name

         //'mydata' variable contains values to be displayed in sorted order
         var mydata = [
            {id:4, f_name: 'smith'},
            {id:2, f_name: 'cruise'},
            {id:3, f_name: 'john'}
         ];

         //'myval' is a collection instance and includes array of values stored in 'mydata' variable
         var myval = new Backbone.Collection (mydata, {
            model:MyModel,   //The model 'MyModel' is specified by overriding the "model" property
            comparator: 'f_name'   //The 'comparator' maintain the collection in sorted order
         });

         //Here, displaying the array of values using collection instance 'myval' and 'models' method
         document.write("The sorted (based on f_name) order of collection: <br>",
            JSON.stringify(myval)
         );
      </script>
      
   </body>
</html>

Resultado

Vamos realizar as seguintes etapas para ver como funciona o código acima -

  • Salve o código acima no comparator.htm Arquivo.

  • Abra este arquivo HTML em um navegador.