2016-07-18 11 views
1

別のangular2ルートに移動して元のルートに戻ったとき、IE11がOnInitを起動していないようです。したがって、明らかにroute1は問題のルートであり、デフォルトルートです。ルート1がロードされると、コンポーネント1でOnInitが起動されます。ルート2 /コンポーネント2のOnInitにナビゲートすると、正常に起動します。問題は私がroute1/component1に戻るときです.InInitはIEでは起動しませんが、他のすべてのブラウザでは実行されます。私たちはRC3にいる。ここでAngular2 OnInit Not Firing IE11

は、問題の私のコンポーネントです:

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で他のイベントが発生した場合(つまり、オンホーが要素で発生した場合、またはドロップダウンを開いたときにOnInitメソッドが起動したときに、angular2変更検出が発生したようですそれは最終的にOnInitを発動します)

EDIT 2 --- 問題はまだrc4にあります。

https://github.com/angular/angular/issues/10146

修正するためにリンクされrouter.tsへの更新を示しています。私の問題は、これがあるように思えます。私は、そのファイルがnpmパッケージにバンドルされているのを見ていません。トランジスター付きのrouter.jsファイルだけです。このアップデートをどうやって適用しますか?

おかげ

+0

あなたは 'OnPush'を使用していないようですが、https://github.com/angular/angular/issues/9976、https://github.com/angular/angular/issues/9692と似たような音がします –

+0

https://github.com/angular/angular/pull/10096でも問題が解決する場合があります。 –

+0

は、私はこれは私の問題を解決すると思う: https://github.com/angular/angular/commit/f08060b0b00c98341c7e1fd9acb984402c280396 が、私はnode_modules/@angular/router/src/router.tsにのみ.jsファイルを参照してくださいいけません。このアップデートをどうやって適用しますか? – cobolstinks

答えて

0

Angular2のgithubのサイトで重複しているこの問題のいくつかの報告があるように思えます。私は、このリンクから周りの仕事を持ち上げた:私は_router.events.subscribeコンポーネントルータに新しいだと思うので、私はしなければならなかった GitHub Issue

唯一の変更ではなく_router.subscribeの_router.events.subscribeでした。

export class AppComponent { 

constructor(private _applicationRef: ApplicationRef, private _router: Router) { 

    _router.events.subscribe(() => { 
     this._applicationRef.tick(); 
     setTimeout(() => { 
      this._applicationRef.tick(); 
     }, 100); 
    }); 

} 

これはRC5で解決されることを願っていますが、これは今のところうまくいくようです。

+0

廃止予定のルータを使用していますか?私の_routerオブジェクトは.eventsまたは.subscribe()を持っていません。 – Snorre

+0

"@ angle/router": "3.0.0-beta.1"、 – cobolstinks