#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() {
});
});