Маршрутизация AngularJS с параметром id заканчивается на белой странице

#javascript #angularjs #angularjs-scope #angularjs-routing

#javascript #angularjs #angularjs-область #angularjs-маршрутизация

Вопрос:

 var app = angular.module('application', [ 'ngRoute', 'ui.bootstrap' ]);

// configure our routes
app.config(function($routeProvider, $locationProvider) {

    $locationProvider.html5Mode(true);

    $routeProvider
        // route for the home page
        .when('/', {
            templateUrl : 'assets/views/home.php',
            controller  : 'HomeCtrl'
        })

        // route for the home page
        .when('/dev', {
            templateUrl : 'assets/views/dev.php',   
            controller  : 'devCtrl'
        })

        // route for the home page
        .when('/dev/:id', {
            templateUrl : 'assets/views/dev.php',
            controller  : 'devCtrl'
        });

});

app.run(function($rootScope, $window, $location, $route, $templateCache) {  
    $rootScope.$on('$routeChangeStart', function() {

    });
});
  

Я использую вышеупомянутый angular для маршрутизации своих страниц. Я пытаюсь получить доступ к URL-адресу с параметром, и все, что я получаю, это белая страница. http://domain.com/dev/1234

Я что-то пропустил здесь?

Комментарии:

1. Вы пробовали просматривать консоль с помощью инструментов разработчика используемого вами браузера? Кроме того, вы, вероятно, проверили это, но на всякий случай assets/views/dev.php доступны и работают ли другие маршруты?

2. @nstehr Я опубликовал ответ на свою проблему

Ответ №1:

Оказывается, мне нужно было поставить a / в начале моего templateUrl

Консоль.ошибка журнала показывала, что он снова пытается загрузить angular.

 var app = angular.module('application', [ 'ngRoute', 'ui.bootstrap' ]);

// configure our routes
app.config(function($routeProvider, $locationProvider) {

    $locationProvider.html5Mode(true);

    $routeProvider
        // route for the home page
        .when('/', {
            templateUrl : '/assets/views/home.php',
            controller  : 'HomeCtrl'
        })

        // route for the home page
        .when('/dev', {
            templateUrl : '/assets/views/dev.php',   
            controller  : 'devCtrl'
        })

        // route for the home page
        .when('/dev/:id', {
            templateUrl : '/assets/views/dev.php',
            controller  : 'devCtrl'
        });

});

app.run(function($rootScope, $window, $location, $route, $templateCache) {  
    $rootScope.$on('$routeChangeStart', function() {

    });
});