Я пытаюсь выполнить угловую маршрутизацию в своем гибридном приложении AngularJS / Angular.
Я создал файл app-routing.module.ts:
import { ModuleWithProviders } from "@angular/core";
import { Routes, RouterModule, ExtraOptions } from '@angular/router';
import {SignInComponent} from "./modules/login/components/sign-in/sign-in.component";
import {ActivationComponent} from "./modules/login/components/activation/activation.component";
const routes: Routes = [
{
path: 'sign-in',
component: SignInComponent
},
{
path: 'activation',
component: ActivationComponent
},
{
path: '',
pathMatch: 'full',
redirectTo: '/activation'
},
{
path: '**',
pathMatch: 'full',
redirectTo: '/activation'
}
];
export const routingModule: ModuleWithProviders = RouterModule.forRoot(routes);
в app.module.ts Я добавил routingModule в массив «import», а в app.component.html добавил:
<button (click)="goto('sign-in')">go to home</button>
<button (click)="goto('activation')">go to product</button>
<router-outlet></router-outlet>
Когда с помощью index.html я использую только Angular, он отлично работает
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Angular</title>
<base href="/">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="favicon.ico">
</head>
<body>
<app-root></app-root>
</body>
</html>
Но когда я добавляю свой код AngularJS, просто добавляю
this.upgrade.bootstrap(document.body, ['app']);
Моя текущая угловая маршрутизация вместо этого перезагружает содержимое тега «router-outlet», полностью перезагружает страницу. Если я удалю
this.upgrade.bootstrap(document.body, ['app']);
работает нормально.
У кого-нибудь были подобные проблемы, и, может быть, кто-то может предложить сценарий, как заставить Angular Routing правильно работать с гибридным приложением AngularJS / Angular?
Спасибо