简体   繁体   中英

Angular ng-view not displaying [leaning angular]

I'm learning Angular and I'm having problem on the routing. I've tried to solve it myself but have no idea what it can be. Here's my script and a Plunker link of my script

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

.config([$routeProvider, $locationProvider, function($routeProvider, $locationProvider) {
$routeProvider
.when('/', {
  templateUrl: 'pages/home.html',
  controller: 'mainController'
})
.when('/about', {
  templateUrl: 'pages/about.html',
  controller: 'aboutController'
})
.when('/contact', {
  templateUrl: 'pages/contact.html',
  controller: 'contactController'
});

// Deletes # in URL with HTML History API
$locationProvider.html5Mode(true);
}])

.controller('mainController', function($scope) {
 $scope.message = 'This is the main page';
})

 .controller('aboutController', function($scope) {
  $scope.message = 'This is the about page';
  })

  .controller('contactController', function($scope) {
    $scope.message = 'This is the message page';
  });

I've imported the both angular and routing scripts in html. The pages has just $message

The first issue is with your config. You're using a great practice by using an array for your injections but the first arguments must be strings. Change this:

.config([$routeProvider, $locationProvider, function($routeProvider, $locationProvider) {

to this

.config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {

Then... remove this line:

$locationProvider.html5Mode(true);

Here's information about HTML5 mode:

https://docs.angularjs.org/error/$location/nobase

Enabling HTML 5 Mode in AngularJS 1.2

http://plnkr.co/edit/EXMiz3bAEttTQac0uvgh?p=preview

You have syntax error, config function should be like this

.config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {

http://plnkr.co/edit/4csvt10yfolOepqECh51?p=preview

Removes the following line

//Deletes # in URL with HTML History API
$locationProvider.html5Mode(true);

Many of the errors and especially reference can view them in the browser console You must modify the parameters of your config, should go well

.config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {

Compare and see your code

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

singleApp.config(function($routeProvider) {
  $routeProvider
    .when('/', {
      templateUrl: 'pages/home.html',
      controller: 'mainController'
    })
    .when('/about', {
      templateUrl: 'pages/about.html',
      controller: 'aboutController'
    })
    .when('/contact', {
      templateUrl: 'pages/contact.html',
      controller: 'contactController'
    });
});

singleApp.controller('mainController', function($scope) {
  $scope.message = 'This is the main page';
});

singleApp.controller('aboutController', function($scope) {
  $scope.message = 'This is the about page';
});

singleApp.controller('contactController', function($scope) {
  $scope.message = 'This is the message page';
});

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM