2015-03-07 4 views
0

Итак, я пытаюсь научиться использовать маршрутизацию углов, следуя учебным руководствам в Интернете, и я не могу понять, где я ошибаюсь. У меня есть следующий код:ngRoute не направляет ни к чему

var app = angular.module('gamersplane', ['controllers', 'ngCookies', 'ngRoute']); 
app.config(['$routeProvider', function ($routeProvider) { 
    $routeProvider.when('/pms/:box?', { 
     controller: 'pmList' 
    }).when('/pms', { 
     controller: 'pmList' 
    }).otherwise({ 
     controller: 'pmList' 
    }); 
}]) 

var controllers = angular.module('controllers', []); 
controllers.controller('pmList', function ($scope, $cookies, $http, $routeParams) { 
    console.log($routeParams); 
}); 

Однако, независимо от того, что я делаю, контроллер не попадает. У меня есть otherwise в маршрутизаторе, не так ли, где он должен ударить, если все остальное не получится?

+1

ваш 'otherwise' указывающего в никуда, попробуйте' иначе ({redirectTo: '/ pms'}); ' – Hareesh

ответ

0

Да ударит иначе, но вы можете только определить путь переадресации в него и что редирект путь покажет URL-адрес и контроллер для установки на $ route.current: -

redirectTo: '/pms' 

Doc

+0

Но даже если я перейду в/pms или/pms/outbox, он не нагревает контроллер. Я не знаю, где я ошибся. – RhoVisions

0

вы должны добавить шаблон для каждого маршрута:

app.config(['$routeProvider', function ($routeProvider) { 
    $routeProvider.when('/pms/:box?', { 
     controller: 'pmList', 
     template: 'test.html' 
    }).when('/pms', { 
     controller: 'pmList', 
     template: 'test.html' 
    }).otherwise({ 
     controller: 'pmList', 
     template: 'test.html' 
    }); 
}]) 
0

squiroids предложение относительно иначе было правильно, вы не будете видеть изменения в тестовом приложении однако.

Маршрутизация предназначена для навигации по регионам приложения. У вас может быть приложение с двумя маршрутами: pms, который отображает список PM и pms /: box zu, просматривает конкретный PM Box. Основной задачей ngRoute является замена заполнителя в приложении (ng-view) на заданный шаблон. Без использования шаблона на отдельных маршрутах ваш $ routeProvider не будет перемещаться так, как ожидалось.

Учитывая у вас есть две точки зрения для регионов (pmBox.html и pmList.html), вы можете настроить $ routeProvider настройки цу маршрутизации, как это: https://gist.github.com/kpko/bd0231ccefbaf8c415c7