Angular 4 маршрутизация дублирующего компонента для определенного пути
У меня есть странная проблема, что, когда конкретный маршрут запускается напрямую, компонент добавляется в дом дважды, но при переходе с главной страницы он работает нормально.
Проблема с contact
маршрут ContactComponent
Вы можете проверить, что живут на этом сайте
- Перейти на http://ootybookings.in/
- Вы можете увидеть компонент контакта, добавленный дважды
- Теперь нажмите на Главное меню / Ссылка вверху, а затем нажмите Контактное меню / Ссылка
- Теперь дубликат исчез
Все остальные маршруты в порядке. Только контактный маршрут делает эту проблему.
конфиг
"@angular/animations": "^4.4.6",
"@angular/common": "^4.4.6",
"@angular/compiler": "^4.4.6",
"@angular/core": "^4.4.6",
"@angular/forms": "^4.4.6",
"@angular/http": "^4.4.6",
Маршруты
const routes: Routes = [
{
path: '',
redirectTo: 'welcome',
pathMatch: 'full'
},
{
path: 'welcome',
component: WelcomeComponent
},
{
path: 'home',
component: HomeComponent
},
{
path: 'main',
component: MainComponent,
children: [
{
path: '',
redirectTo: 'tour-packages',
pathMatch: 'full'
},
{
path: 'tour-packages',
component: TourPackagesComponent
},
{
path: 'tour-package/:name',
component: TourPackageDetailComponent
},
{
path: 'activities',
component: ActivitiesComponent
},
{
path: 'contact',
component: ContactComponent
},
{
path: 'who-we-are',
component: WhoWeAreComponent
},
{
path: 'why-ooty',
component: WhyOotyComponent
},
{
path: 'services',
component: TourServicesComponent
},
{
path: 'blogs',
component: BlogComponent
},
{
path: 'blog/:name',
component: BlogDetailComponent
},
{
path: 'offers',
component: OffersComponent
},
{
path: 'terms',
component: TermsComponent
},
{
path: 'privacy',
component: PrivacyPolicyComponent
},
{
path: 'refund',
component: RefundPolicyComponent
}
]
}
];
@NgModule({
imports: [RouterModule.forRoot(routes, { useHash: true })],
exports: [RouterModule]
})
export class AppRoutingModule { }
Как справиться с этим. Есть ли проблема с моим модулем маршрутизации? Я проверил подобные проблемы в SO и других сайтах, но не смог найти никакого решения для этого
1 ответ
Я думаю, маршрутизация не проблема, я использую Angular Mdl
Я упомянул <dialog-outlet></dialog-outlet>
(необходимо для диалогов Mdl) в двух разных местах, что приводит к этой проблеме. Не знаю, почему это повлияло на конкретный компонент. После удаления маршрут работает нормально.