JavaScript

Backbone.Js Collection.Create() Collection

In this Backbone.js framework tutorial, we will discuss how to create a collection class with the extend() method.

Introduction

Backbone.js is a framework that is used to build web applications which follow the style of JavaScript.

It supports models, events, collections, views, and utilities.

By using any of the previous functionalities, we can create and perform different operations on the given data in a web application.

Points to Remember

  1. It is used with JavaScript.
  2. We can implement the framework inside the <script> tag.
  3. This framework supports JavaScript methods and functions like output and reading input.
  4. <script> tag is placed inside <head> tag or in <body> tag.
  5. It is important to have Content Delivery Network (CDN) links to run the web application on the server.

Let’s See the Structure To Place the Code

<html>

   <head>

        <script>

         You can use Backbone.js framework here

        </script>

   </head>

   <body>

        <script>

         You can also use Backbone.js framework here

        </script>

   </body>

</html>

CDN Links are placed with the src attribute of the script tag.

CDN Links

<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.2/underscore-min.js" ></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.1.2/backbone-min.js" ></script>

The extend() method is used to create our own collection by extending the collection class.

Syntax:

Backbone.Collection.extend(properties, classProperties)

Parameters:

1. properties parameter is used to provide instance properties for the created collection class.

2. classProperties: class properties are attached to the created collection constructor function.

Approach

1. Create a Backbone model using the extend() method.

Syntax:

var ModelClass = Backbone.Model.extend();

2. Create a Backbone collection using the extend() method and pass the model class.

Syntax:

var CollectionClass = Backbone.Collection.extend({

    model: ModelClass

    });

3. Create an object or instance for the collection class.

Syntax:

var collection_instance = new CollectionClass();

Example

In this example, we will create a Modal class named – Flowers and create a FlowerCollection collection class. We will pass our model class (Flowers) inside it.

After that, we have to create five instances for the Flowers model with three attributes(flower_name,flower_sepals,flower_petals).

We will create a flower_collection which is an instance to the FlowerCollection collection. And we will add the instances of the Flower model to the collection instance using the add() method.

Now, we will get all the attributes using the pluck() method in a collection.

<html>

   <head>

        <script src="https://code.jquery.com/jquery-2.1.3.min.js" ></script>

 

        <script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.2/underscore-min.js" ></script>

        <script src="https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.1.2/backbone-min.js" ></script>

 

   </head>

   <body>

   <center>

   <h1>Linux Hint</h1>

    </center>

    <script>

    //create Model named Flowers using extend()

    var Flowers = Backbone.Model.extend();

 

    //create collection - FlowerCollection and and pass Flowers model

    var FlowerCollection = Backbone.Collection.extend({

    model: Flowers

    });

 

    //create 5 instances for the Flowers model

    var flower1 = new Flowers({flower_name: "lilly",  flower_sepals:3,flower_petals:9});

    var flower2 = new Flowers({flower_name: "lilly",  flower_sepals:10,flower_petals:17});

    var flower3 = new Flowers({flower_name: "rose",  flower_sepals:2,flower_petals:8});

    var flower4 = new Flowers({flower_name: "lilly",  flower_sepals:3,flower_petals:9});

    var flower5 = new Flowers({flower_name: "tulip",  flower_sepals:7,flower_petals:10});

 

        //create flower_collection

        var flower_collection = new FlowerCollection();

 

        //add the above model instances to the flower_collection instance using add(() method.

        flower_collection.add([flower1,flower2,flower3,flower4,flower5]);

        //display the flowers present in the collection

        document.write('<strong>Existing: </strong> ' + JSON.stringify(flower_collection));

        document.write("<br>");

        document.write("<br>");

 

 

 

        //return the flower_name attribute

        document.write('<strong>flower_name: </strong> ' + flower_collection.pluck('flower_name'));

        document.write("<br>");

        document.write("<br>");

 

        //return the flower_sepals attribute

        document.write('<strong>flower_sepals: </strong> ' + flower_collection.pluck('flower_sepals'));

        document.write("<br>");

        document.write("<br>");

 

        //return the flower_petals attribute

        document.write('<strong>flower_petals: </strong> ' + flower_collection.pluck('flower_petals'));

        document.write("<br>");

        document.write("<br>");

 

 

    </script>

   </body>

</html>

Output:

Run the application in your browser by saving the code in the file with .html as an extension.

Here, we created FlowerCollection by extension of the collection.after that we passed the Flowers model to it.

Conclusion

In this Backbone.js tutorial, we discussed how to create a collection and how to pass the model instances to the collection object. After that, we simply displayed the attributes using the pluck() function.

About the author

Gottumukkala Sravan Kumar

B tech-hon's in Information Technology; Known programming languages - Python, R , PHP MySQL; Published 500+ articles on computer science domain