Есть ли способ очистить определение $ 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 что-то не так. Кажется, что это повлияло на предыдущее определение. Я не могу настроить маршруты дважды.
Итак, следует ли очистить предыдущее определение или использовать другие способы решения этой проблемы?
Я видел. Я создаю новый модуль каждый раз, но $ routeProvide является singleton, , поэтому, похоже, нужно очистить определение $ routeProvider. angular.module ('myModule', []); // создаем новый модуль angular.module ('myModule'); // получить модуль –
Вы можете увидеть мою демонстрацию plunker, module_1 и module_2 имеет собственное определение. –