rc.3 と非推奨のルーターで動作する Angular 1/Angular 2 ハイブリッド アプリがあります。私が見つけたすべての情報源から、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 アプリだけをブートストラップすると、すべてが期待どおりに機能します。
接続部分が 1 つだけ欠けているように感じます。何か案は?
Angular RC.6 および Router RC.2 の更新
先週、ルーターの rc.6 と rc.2 バージョンにアップグレードしましたが、同じ問題がありました。ルーティングが関係していない場合、UpgradAdapter はうまく機能します。ルーターアウトレットを引き込むと、何もレンダリングされず、エラーも発生しません。