2015-11-26 2 views
0

Есть ли способ очистить определение $ routeProvider?Угловой маршрутProvider redefine issue

Это мой plunker demo

app.config(["$routeProvider", function($routeProvider) { 
 
\t $routeProvider 
 
\t \t .when("/forums", { 
 
\t \t \t templateUrl: "hotThread_forums.html", 
 
\t \t \t controller: "ForumsCtrl" 
 
\t \t }) 
 
\t \t .when("/hotThreads/:fid", { 
 
\t \t \t templateUrl: "hotThreads.html", 
 
\t \t \t controller: "HotThreadsCtrl" 
 
\t \t }) 
 
\t \t .otherwise({ 
 
\t \t \t redirectTo: "/forums" 
 
\t \t }); 
 
}]);

app.config(["$routeProvider", function($routeProvider) { 
 
\t $routeProvider 
 
\t \t .when("/forums", { 
 
\t \t \t templateUrl: "subtitle_forums.html", 
 
\t \t \t controller: "ForumsCtrl" 
 
\t \t }) 
 
\t \t .when("/subtitles/:fid", { 
 
\t \t \t templateUrl: "subtitles.html", 
 
\t \t \t controller: "SubtitlesCtrl" 
 
\t \t }) 
 
\t \t .otherwise({ 
 
\t \t \t redirectTo: "/forums" 
 
\t \t }); 
 
}]);

Когда я нажимаю module_1 первый раз, он работает правильно, а затем нажмите module_2 что-то не так. Кажется, что это повлияло на предыдущее определение. Я не могу настроить маршруты дважды.

Итак, следует ли очистить предыдущее определение или использовать другие способы решения этой проблемы?

ответ

0

Сначала определили ваши маршруты, модули, контроллеры в файлах javascript. После этого я вижу, что у вас, похоже, разные взгляды и контроллер для аналогичного URL. Это руководство для провайдера маршрутов. http://viralpatel.net/blogs/angularjs-routing-and-views-tutorial-with-example/

+0

Я видел. Я создаю новый модуль каждый раз, но $ routeProvide является singleton, , поэтому, похоже, нужно очистить определение $ routeProvider. angular.module ('myModule', []); // создаем новый модуль angular.module ('myModule'); // получить модуль –

+0

Вы можете увидеть мою демонстрацию plunker, module_1 и module_2 имеет собственное определение. –

Смежные вопросы