2016-08-18 7 views
2

最近、angle2アプリケーションを2.0.0-beta.15から2.0.0-rc.5にアップグレードしました(新しいルータ3.0.0-rc.1への移行を含む)。ページ左側にメニューとサブメニューがあり、アプリケーションには同時に2つの<router-outlet>があります。新しい角型ルータ(3.0.0-rc.1)でコンポーネントを再利用

アップデート後にいくつかの異なる動作が発生すると、コンポーネントが<router-outlet>の外部にあっても、(アップデート後の)アプリケーションのコンポーネントが破棄されて構築されることに気付きました。古いルータではそうではありませんでした。新しいルータが既存のコンポーネントを再利用できないようなものです。

角度をplunkerにフォークし、いくつかの単純なデバッグコンソール出力をすべてのコンポーネントコンストラクタに追加して、これが新しいバージョンと設定ではないことを確認します。動作は同じです:コンポーネントが決して再利用されないので、countは決して増加しません。誰もコンポーネントのインスタンスを再利用する方法を知っていますか?

他にも、新しいルータがコンポーネントを再利用したくない理由を説明できる人はいますか?私はすでにCanReuse@angular/router-deprecatedから見つけましたが、この機能はまだ新しいルータには到着していません。しかし、CanReuseが新しいルータのためにそこにあったとしても、すべての "静的な"コンポーネントのためにCanReuseを実装するのではなく、デフォルトでコンポーネントを再利用する方が理にかなっていますか?コンポーネントを再利用しないでください。

+0

http://stackoverflow.com/questions/38036498/angular2-router3-cant-reload-refresh-active-route –

+0

ありがとうNikolay、これは何かについてのようです。 –

答えて

2

あなたはこの問題に遭遇しています。https://github.com/angular/angular/issues/10702はすでに修正されており、次のアップデートに含まれます。

+0

多くのありがとう、Günter、我々はrc.6と再度チェックします –

+2

レコードのためだけに:RC6は問題を解決しました。再度、感謝します。 –

関連する問題