У меня есть приложение Angular 7, которое запускается в электронном окне. Электронный процесс в main.ts
должен делать следующее:
main.ts
: Показать окно + URL-адрес загрузки для приложения Angular
- Угловой: делает свое дело
- Angular: использует ipcRenderer, чтобы сообщить основному процессу, что он временно сделан
main.ts
: BrowserWindow.hide ()
main.ts
: другие
main.ts
: BrowserWindow.show ()
main.ts
: mainWindow.webContents.send('route', '/myroute');
- Угловой:
this.ipcRenderer.on('route', (event: any, route: string) => { this.router.navigateByUrl(route); });
Ожидаемое поведение : окно скрывается, затем отображается и показывает новый компонент.
Фактическое поведение : окно скрывается, затем отображается и показывает частично загруженный компонент, за которым следует компонент предыдущего маршрута (например, точка входа).
приложение-routing.module.ts
import { NgModule } from '@angular/core';
import { Router, RouterModule, Routes } from '@angular/router';
<route component imports>
const routes: Routes = [
{ path: '', redirectTo: '/entrypoint', pathMatch: 'full' },
{ path: 'entrypoint', component: EntryPointPageComponent },
{ path: 'myroute', component: MyRouteComponent },
{ path: '**', redirectTo: '/entrypoint' }
];
@NgModule({
exports: [ RouterModule ],
imports: [ RouterModule.forRoot(routes, { useHash: true }) ]
})
export class AppRoutingModule {
constructor(private router: Router) {
this.router.events.subscribe((value) => {
console.log(`Router event! ${ typeof value}: ${ value }`);
}, (err) => {
console.log(`Router failure! ${ err }`);
});
}
}
Когда приходит время идти по маршруту к /myroute
, я вижу следующие события, проходящие в следующем порядке: NavigationStart
, RoutesRecognized
, GuardsCheckStart
, ChildActivationStart
, ActivationStart
, GuardsCheckEnd
, ResolveStart
, ResolveEnd
, ActivationEnd
, ChildActivationEnd
, NavigationEnd
, Scroll
.
Наконец, я реализовал все жизненные циклы событий в MyRouteComponent
с помощью операторов консоли, но ни один из них не был выполнен.
Есть идеи, что мешает маршрутизации работать успешно?