У меня есть приложение, которое я постепенно портирую на angular 4.
Прямо сейчас у меня есть компонент, который находится в Angular 4, другой в AngularJS.Я сталкиваюсь с проблемой при переходе от angularjs -> angular4 -> angularjs.первый переход с JS на 4 работает отлично, но потом я застрял с моим Angular 4 компонентом на главном экране.URL-адрес изменился, но страница не перенаправлена на компонент Angular JS, мой нг-выход больше не обновляется.
Маршрутизатор находится в angularJS.
Компонент Angular 4dowgraded используя:
import {
Injectable,
ModuleWithProviders,
NgModule
} from '@angular/core';
import {
APP_MODULE_NAME
} from '../../constants';
declare const angular: angular.IAngularStatic;
import {
downgradeInjectable,
downgradeComponent
} from '@angular/upgrade/static';
// Singleton Module
@NgModule()
@Injectable()
export class ComponentHelper {
constructor() {}
static forRoot(): ModuleWithProviders {
return {
ngModule: ComponentHelper
}
}
public static DowngradeFactory(componentName: string, className: any): void {
angular.module(APP_MODULE_NAME).factory(componentName, downgradeInjectable(className));
}
public static DowngradeDirective(componentName: string, className: any): void {
angular.module(APP_MODULE_NAME).directive(componentName, downgradeComponent({
component: className
}))
}
}
Я делаю это в маршрутизаторе
{
path: '/pj/:project_id/ds/:datastore_id/list/ng4/all',
component: 'downgradeNG4',
name: 'DowngradeNG4'
}, {
path: '/pj/:project_id/ds/:datastore_id/search/:search_id/list/all',
name: 'NormalJS',
component: 'normalJS'
},
в какой-то момент в AngularJS Я делаю это так, чтобы я перенаправил на компонент NG4.
const path = `pj/${self.projectID}/ds/${self.currentDatastoreID}/list/ng4/all`;
$location.path(path);
Теперь, когда я в компоненте angular 4, я нажимаю на МЕНЮ UI, которое находится в angular JS, оно не перенаправляет событие, если изменение пути в браузере меняется.
Не все Компонент / Модульпонизиться, я должен понизить версию каждого сервиса и подкомпонента?Или только (как сейчас) компонент, вызываемый напрямую из AngularJS router?
Должен ли я понижать их рейтинг?