別の angular2 ルートに移動してから元のルートに戻ったときに、IE11 が OnInit を起動していないようです。したがって、明確にするために、route1 が問題のルートであり、デフォルト ルートです。route1 がコンポーネント 1 で OnInit を正常にロードすると、route2/component2 に移動して OnInit も正常に開始されます。問題は、route1/component1 に戻るときに OnInit が IE では起動しませんが、他のすべてのブラウザーでは起動します。私たちはRC3にいます。
問題のコンポーネントは次のとおりです。
import { Component, OnInit} from '@angular/core';
import { UdrService} from './udr.service';
import { Widget} from '../widget';
@Component({
selector: 'udr',
templateUrl: './Home/RenderUDR',
providers: [UdrService]
})
export class UdrComponent implements OnInit {
constructor(private _udrService: UdrService) { }
widgets: Widget[];
ngOnInit() {
this._udrService.getUdrActiveWidgets()
.subscribe(wdgts => this.widgets = wdgts);
}
}
ありがとう!
EDIT 1 --- DOM で他のイベントが発生した場合 (つまり、要素で onhover が発生した場合、またはドロップダウンを開くと、OnInit メソッドが起動することに気付きました。angular2 の変更検出が起動すると、最終的に OnInit が起動するようです)
編集 2 --- 問題は rc4 にまだ存在します。私の問題はこれのようです:
https://github.com/angular/angular/issues/10146
修正へのリンクは、router.ts の更新を示しています。npm パッケージにバンドルされているファイルは表示されず、トランスパイルされた router.js ファイルのみが表示されます。この更新プログラムを適用するにはどうすればよいですか?
ありがとう