我有一个 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>
它时它不会呈现子路由。如果我在没有 upgradeAdapter 的情况下仅引导我的 NG2 应用程序,一切都会按预期工作。
我觉得我只缺少一个连接件。有任何想法吗?
Angular RC.6 和路由器 RC.2 更新
上周我升级到 rc.6 和 rc.2 版本的路由器,同样的问题。当不涉及路由时,UpgradAdapter 工作得很好。一旦我拉入路由器插座,就什么都没有渲染,也没有错误。