1

I have a html file

<!doctype html>
<html lang="en" ng-app="myApp">
<head>
  <meta charset="UTF-8">
  <title>Angular Registration</title>
  <meta name="viewport" content="width=device-width, user-scalable=no">
  <link href='https://fonts.googleapis.com/css?family=Lato:400,100,700,900' rel='stylesheet' type='text/css'>
  <link rel="stylesheet" href="css/style.css">
  <script src="js/lib/angular/angular.min.js"></script>
  <script src="js/lib/angular/angular-route.min.js"></script>
  <script src="js/lib/angular/angular-animate.min.js"></script>
  <script src="js/app.js"></script>
  <script src="js/controllers/registration.js"></script>
</head>
<body>
<header></header>
<div class="page">
  <main class="cf" ng-view>
  {{message}}</main>
</div>
</body>
</html>

Then I have app.js where i implement route providers.

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

myApp.config(['$routeProvider',function($routeProvider){
    $routeProvider.
        when('/login',{
            templateUrl:'views/login.html',
            controller:'RegistrationController'
        }).
        when('/register',{
            templateUrl: 'views/register.html',
            controller: 'RegistrationController'
        }).
        when('/success',{
            templateUrl: 'views/success.html',
            controller: 'SuccessController'
        }).
        otherwise({
            redirectTo:'/login'
        });
}]);

Then I have a registration.js where I implement the controller

myApp.controller('RegistrationController',['$scope',function($scope){
    $scope.message="Welcome to my app";
}]);

this is the view file I am referring to:

<section class="card login">
  <form name="myform"
    novalidate>

    <div class="textintro">
      <h1>Hi there!</h1>
      <p>Log-in to access the awesomeness!</p>
      <p>{{message}}</p>

    </div>

    <fieldset>
      <input type="email" name="email" placeholder="Email">
      <input type="password" name="password" placeholder="Password">
    </fieldset>

    <button type="submit" class="btn">Login</button>
    <p>or <a href="#/register">register</a></p>
  </form>
</section>

The {{message}} is displayed as it is when I run the website !! I checked the console it says failed to load the module, what might be my mistake here or how can I solve this

1 Answer 1

4

Is your controller in the same file as the route config or it is separate file?

If it is in an extra file you have to replace

myApp.controller('RegistrationController',['$scope',function($scope){

with

angular.module('myApp').controller('RegistrationController',['$scope',function($scope){

If it is in the same file, please post the error message here

Sign up to request clarification or add additional context in comments.

1 Comment

But please tell me why it should be in other file isn't the myApp variable global here ? Just want to know curious about it

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.