Answer the question
In order to leave comments, you need to log in
Why doesn't routing work in angulaJs?
in general, you need a page where the user could log in site.com/login, but the main page is rendered, here is the code
var app = angular.module('mainApp', ['ngRoute']).config(function($routeProvider){
$routeProvider.when('/login', {
templateUrl: './login.html',
controller: 'mainContr'
});
});
<div ng-view></div>
Answer the question
In order to leave comments, you need to log in
When the application is initialized, is ngRoute exactly imported ? Is the angular-route plugin connected to the page? By the way, there is also the angular-router plugin , it is not working, as far as I know. Is the path exactly '/login' and not '/login/' ?
Just in case, my example of using ngRoute, fully working:
(function(A) {
"use strict";
A.module('Administrator',
[ 'ngCookies', 'ngRoute', 'ngResource', 'ui.layout', 'ui.bootstrap',
'ui.bootstrap.dropdown', 'ui.bootstrap.modal',
'ui.bootstrap.collapse', 'ui.grid', 'ui.grid.selection',
'ui.grid.resizeColumns', 'ui.grid.autoResize',
'ui.grid.selection', 'ui.grid.i18n', 'ui.layout',
'ui.grid.infiniteScroll'])
.config(function($interpolateProvider, $resourceProvider, $routeProvider) {
//Не хочу использовать Django-тег verbose
$interpolateProvider.startSymbol('{$');
$interpolateProvider.endSymbol('$}');
$resourceProvider.defaults.stripTrailingSlashes = false;//Иначе POST-запросы не работают, Django же
$routeProvider.when('/category/', {
templateUrl: '/administrator/template/grid/',
controller: 'CategoryGridController'
}).when('/tests/', {
templateUrl: '/administrator/template/grid/',
controller: 'TestsGridController'
});
})
.run(function($http, $cookies) {
$http.defaults.headers.post['X-CSRFToken'] = $cookies.csrftoken;
$http.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
$http.defaults.headers.common['X-CSRFToken'] = $cookies.csrftoken;
});
}(this.angular, this.jQuery));
1. Проверте что вы используюете ngRoute а не ui.router
2. Убедитесь что яваскрипт файл включен на страницу
3. По коду не понятно есть у вас метод контроллера mainContr или нет. Понятно что вы в HTML написали тоже но объявили вы этот кнороллер в Ангуляр или нет не известно.
4. Убедитесь что у вас есть функция run() как в примере вверху
5. Путь к файлу шаблона не надо использовать ./ так как этот путь будет использоваться через HTTP. Просто укажите относительный или полный путь от корня сайта но тогда нанчните с /.
Если вы сделаете фидл и дадите ссылку то будет на много легче помочь.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question