Thursday, 24 September 2015

BackboneJS - History

It keeps track of the history, matches the appropriate route, fires callbacks to handle events and enables the routing in the application.

start

This is the only method which can be used to manipulate the BackboneJS-History. It starts listening to routes and manages the history for bookmarkable URL's.

Syntax

Backbone.history.start(options)

PARAMETERS:

  • options: The options include the parameters such as pushState andhashChange used with history.

Example


<!DOCTYPE html>
   <head>
      <title>History 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>
   <script type="text/javascript">
       //'Router' is a name of the router class
      var Router = Backbone.Router.extend({

         //The 'routes' maps URLs with parameters to functions on your router
         routes: {
            "myroute" : "myFunc"
         },

         //'The function 'myFunc' defines the links for the route on the browser
         myFunc: function (myroute) {
            document.write(myroute);
         }
      });

      //'router' is an instance of the Router
      var router = new Router();

      //Start listening to the routes and manages the history for bookmarkable URL's
      Backbone.history.start();
  </script>
  <body>
     
     <a href="#route1">Route1 </a>
     <a href="#route2">Route2 </a>
     <a href="#route3">Route3 </a>
  </body>
</html>

Output

Let's carry out the following steps to see how above code works:
  • Save above code in start.htm file
  • Open this HTML file in a browser.

NOTE: That above functionality is related to address bar so when you will open above code in actual browser then it will show result as follows
start example

No comments:

Post a Comment