У меня есть гибридное приложение Angular 1 / Angular 2, которое работало с rc.3 и устаревшим маршрутизатором. Судя по всем источникам, которые мне удалось найти, rc.5 - это большой шаг вперед с новым маршрутизатором. Я могу загрузить свое гибридное приложение и отобразить корневой компонент, но маршрутизация не работает.
var upgradeAdapter = new UpgradeAdapter(forwardRef(() => AppModule));
angular.module('ng1App', [])
.directive('myBaseComponent', <any>upgradeAdapter.downgradeNg2Component(MyBaseComponent));
@NgModule({
imports: [BrowserModule, routing],
providers: [appRoutingProviders, HTTP_PROVIDERS],
declarations: [MyBaseComponent,
MyNG2RoutableComponent]
})
class AppModule { }
upgradeAdapter.bootstrap(document.body, ['ng1App']).ready(function(){
console.log('bootstraped!');
});
Мои корневые компоненты NG2 загружаются, так как я могу добавлять что-то в шаблон, который он отображает. Но кажется, что когда я добавляю <router-outlet></router-outlet>
, он не будет отображать дочерний маршрут. Если я загружу только свое приложение NG2 без upgradeAdapter, все будет работать так, как ожидалось.
Я чувствую, что мне не хватает только одного соединительного элемента. Любые идеи?
Обновление Angular RC.6 и Router RC.2
На прошлой неделе я обновился до rc.6 и rc.2 версии маршрутизатора, та же проблема. UpgradAdapter отлично работает, когда маршрутизация не задействована. Как только я втыкаю роутер-розетку, то ничего не рендерится и ошибок нет.
import {ROUTER_DIRECTIVES} from '@angular/router';
- person Oleg Barinov   schedule 19.08.2016RouterModule.forRoot()
, которая затем используется при импорте моего модуля. В любом случае, прямой импорт директив не помог. - person Justin Rassier   schedule 19.08.2016