0
votes

This is my index.html

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Bootstrap Example</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
  <link rel="stylesheet" type="text/css" href="xploresoftware.css">
  </head>
<body ng-app="myapp">
<nav role="navigation" class="navbar navbar-default navbar-fixed-top" id="navbar">
    <div class="container-fluid">
        <!-- Brand and toggle get grouped for better mobile display -->
        <div class="navbar-header">
            <button type="button" data-target="#navbarCollapse" data-toggle="collapse" class="navbar-toggle">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            <a href="#/" class="navbar-brand" id="logo"><img src="Images/Drawing.png"></a>
        </div>
        <!-- Collection of nav links and other content for toggling -->
        <div id="navbarCollapse" class="collapse navbar-collapse">
            <ul class="nav navbar-nav" id="subject">
                <li><a href="#/ece">Electrical Engineering</a></li>
                <li><a href="#/cs"> Computer Science</a></li>
                <li><a href="#/mech"> Mechanical Engineering</a></li>
            </ul>
            <ul class="nav navbar-nav navbar-right">
                <li><a href="#/">Login</a></li>

            </ul>
        </div>
    </div>
</nav>



 <div class="container-fluid" style="margin-top:55px" >

         <div ng-view="">  </div>


 </div>


</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
  <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
  <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
  <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-route.min.js"></script>
  <script src="angularview.js"></script>

</body>
</html>

This is my angularview.js file

(function(){
var app=angular.module('myapp',['ngRoute']); 
 app.config([function($routeProvider){

    $routeProvider.when('/',{
        templateUrl:'home.html'
    })
    .when('/ece',{
        templateUrl:"ece.html"
    })
    .when('/cs',{
        templateUrl:"cs.html"
    })
    .when('/mech',{
        templateUrl:"mech.html"
    })
    .otherwise({
        redirectTo:"/"
    });
 }]);
})();

The error caught: Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.4.8/$injector/modulerr?p0=myapp&p1=Error%3A%2…ogleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.4.8%2Fangular.min.js%3A19%3A463

1

1 Answers

0
votes

This error appears to caused by a missing dependency. I see that you need to include de ngRoute dependency in your app module.

Change your first line to:

var app=angular.module('myapp',['ngRoute']); 

Try changing this line too

app.config(['$routeProvide', function($routeProvider){ ... }])

EDIT:

Take a look at this JSFiddle

https://jsfiddle.net/relferreira/dzx8w38t/2/

HTML:

<div data-ng-app="app">

  <div data-ng-controller="MainController as main">
    {{main.test}}
  </div>
   <ul class="nav navbar-nav" id="subject">
     <li><a href="#/ece">Electrical Engineering</a></li>
     <li><a href="#/cs"> Computer Science</a></li>
     <li><a href="#/mech"> Mechanical Engineering</a></li>
  </ul>
  <div ng-view>  </div>

</div>

JS:

angular.module('app', ['ngRoute']);

angular.module('app')
    .config(config)
    .controller('MainController', mainController);


config.$inject = ['$routeProvider'];
function config($routeProvider){

    $routeProvider.when('/',{
        template:'<h1>home</h1>'
    })
    .when('/ece',{
        template:"<h1>ece</h1>"
    })
    .when('/cs',{
        template:"<h1>cs</h1>"
    })
    .when('/mech',{
        template:"<h1>mech</h1>"
    })
    .otherwise({
        redirectTo:"/"
    });
 }

mainController.$inject = ['$scope'];

function mainController($scope){

    var vm = this;

    vm.test = 'test'

}