In the previous articles we had discussed about angular form submission using codeigniter and Fetching data using Angularjs. You can read previous articles by clicking below links.

Now let’s move to the topic, here I am going to use ng-route model in our project, before using ng-route please include below scripts to your html header .

<script src="<?php echo base_url();?>scripts/angular.min.js"></script>
<script src="<?php echo base_url();?>scripts/angular-route.min.js"></script>

So we had added scripts what’s next? Let’s see the folder structure of codeigniter, here I had added two new folders to root folders, they are angular_pages and Angularjs.

Codeigniter folder structure

So you are familiar with folder structure, now let’s create userslist.html page under angular_pages.

<div ng-controller="usersController">  
            <table class="table table-bordered table-hover">
                <thead class="table-color">
                        <th>First Name</th>
                        <th>Last Name</th>
                        <th>Email Id</th>
                        <th>Phone Number</th>
                    <tr ng-repeat="item in registrations">
                         <td><a href="#/edit/{{item.user_id}}"><span class="glyphicon glyphicon-pencil"></span></a></td>
                         <td><span class="glyphicon glyphicon-trash"></span></td>

Now to call this page we need to create AngularFormapp.js file under Angularjs folder.
Let’s check the code below.

var welcome = angular.module('welcome', ['ngRoute']);
welcome.config(function ($routeProvider) {
      .when("/angulardemo", {
        controller: "regController"
    }).when("/login", {
        controller: "loginController"
    }).when("/users", {
        controller: "usersController"
    }).when("/edit/:user_id", {
        redirectTo: "/angulardemo"
function ($scope,$http)
        //data : $scope.user, //forms user object
        headers : {'Content-Type': 'application/x-www-form-urlencoded'} 
    }).success(function (data)


Now we need to create angular module to create controllers, here I created welcome as angular module. Now we need to configure the routeprovider, before that we need to pass ngRoute into angular module to call the service.
In the above code using ( .when) to route the template url and controller function in angular module.
Now let’s create index.php file, which will be created under codeigniter views folder or else in project root folder as below.


<html lang="en" ng-app="welcome">
<meta charset="UTF-8">
<title>Example of Bootstrap 3 Horizontal Form Layout</title>
<link rel="stylesheet" href="<?php echo base_url();?>/css/bootstrap.min.css">
<link rel="stylesheet" href="<?php echo base_url();?>/css/bootstrap-theme.min.css">
<script src="<?php echo base_url();?>scripts/jquery-2.0.0.min.js"></script> 
<script src="<?php echo base_url();?>scripts/bootstrap.min.js"></script> 

<script src="<?php echo base_url();?>scripts/angular.min.js"></script>
<script src="<?php echo base_url();?>scripts/angular-route.min.js"></script>
<script src="<?php echo base_url();?>angularjs/AngularFormApp.js"></script>

<body >
<div id="section-container" >
  <p>This is some text</p>
  <div ng-controller="usersController">
      <li><?php print anchor('#/angulardemo','home'); ?></li>
       <li><?php print anchor('#/login','Login'); ?></li>
      <div ng-view>


Here we need to add angular module name to html tag, then we need to add controller function using ng-controller to body tag or else to div tag.
Now we need to display our userslist.html in our main index template, for this we need to use ngView is a directive that uses the $route service by including the rendered template of the current route into the main layout (index.php) file. When user clicks on new link the current route will change and new view will be loaded to ngView, according to the configuration of the $route service.

Thanks for reading this article.