角度のサブルーティングジャンプは、あなたが「ngZone.run()のバグ修正を呼び出すことを忘れなかった、ナビゲーション角度範囲外の引き金に表示され

角度のルーティング機能は発生しやすい角度、非常に誤差をルーティングする非常に強力なだけでなく、非常に脆弱です。

私たちは、例外が発生したときに、まず最初に行うには何ですか?

最初のステップ:公式文書に比べて、コードを確認するには、不整合を修正するためにコード内の場所を見つけました。

ステップ2:コールのパラメータの受け渡しの際に観察デバッグコードは、正常です。

第三段階:百度まで。

私にとっては、このビューには、いくつかは確信できない場合があり、異常はあなたの母が行う尋ねるのは初めてではないでしょうか?人々がより身近な角度ルーティングのために、これは確かに問題への迅速な解決策ですが、すべてではない私たちのために学ぶこと。私たちは、あまりにも多くを知っていることを学びます。

サブ角度のルートのために、私たちは例を見て

インポート{NgModule} から 角度/コア@ 
インポート{ルート、RouterModule} から @角/ルーター
インポート{Leftlistzuhezuheleftlistform1030RootComponent} から ' ./components/root-component/rootcomponent ' 
インポート{RootComponent として zuheRight2Form1030RootComponent} から ' ../../../../zuheright2form1030/components/root-component/rootcomponent ' 

CONSTルート:ルート= [
  {
    パス:'' コンポーネント:Leftlistzuhezuheleftlistform1030RootComponent、
    子供達: [{
      パス:' KK /:ID /:名'
      、コンポーネント:zuheRight2Form1030RootComponent
    }
    ]
  }
];

@NgModule({
  輸入:[
    RouterModule.forChild(経路)
  ]、
  輸出:[
    RouterModule
  ]
})
エクスポートクラス Leftlistzuhezuheleftlistform1030zuheleftListForm1030RoutingModule {}

 

我々はそれをジャンプしてルーティングすることができますどのように、我々は一般的ではなく、ハイパーリンク経由よりも、結局のところ、あなたは、コード、カスタムURL、スタッフのカスタム一連の変数をカスタマイズすることができ、ルーティングコンポーネントの方法をナビゲート。

インポート{注射}角度/コア@ 'から。
インポート{ルータ、RouterModule、ActivatedRoute}角/ルーター@ 'から。
@Injectable()
エクスポートクラスZuheleftListForm1030FrmVfvfvfService {
  コンストラクタ(プライベートルーター:ルーター、
    プライベートルート:ActivatedRoute){}

  DK(){
    console.log(「ルーティングを実行ジャンプ」)。
   this.router.navigate([ "RIGHT1"]、{relativeToで:this.route})。
  }
}

 

私たちは、カスタムによってルーティング方法をジャンプするとき、私たちは、このメソッドが呼び出されたことを示す、単語をジャンプして実行をルーティングするコンソール出力を参照してください、私たちも、コンソールに間違いを参照してください。ナビゲーションは外角度トリガゾーンは、あなたが「ngZone.run()を呼び出すことを忘れませんでした。このエラーはエラーとしてマークされていないが、我々はまだそうでない場合は、ケースを解決する必要がありますが、ルートは、私たちが予期しない結果が発生する可能性がジャンプしてみましょう。

どのようにこの問題を解決するには?私たちのコードを分析することにより、私たちは私たちのカスタムメソッドは、角度ngZoneに含まれていないことが判明し、それはngZoneものです。

この問題を解決するために、さまざまな理由を学びngZoneからすることができます、ルーティングを実行するには、ジャンプ、比較的簡単です。

処分:

インポート{注射、NgZone}角度/コア@ 'から。
インポート{ルータ、RouterModule、ActivatedRoute}角/ルーター@ 'から。
@Injectable()
エクスポートクラスZuheleftListForm1030FrmVfvfvfService {
    コンストラクタ(
      プライベートルーター:ルーター、
      プライベートルート:ActivatedRoute、
      プライベートngZone:NgZone、

    ){}

    DK()
    {
      console.log(「ルーティングを実行ジャンプ」)。
      this.ngZone.run(()=> {
        this.router.navigate([ "KK"]、{relativeToで:this.route})を()。
      });
  }
}

 

角度ルーティングの問題は、多くの場合、URLと一致しませんでしたジャンプ、この問題に対処する、私たちの好ましい選択肢は、現在のルートが比較的小ジャンプでルートにあります。これは、実行中の私たちです

  this.router.navigate([ "KK"]、{relativeToで:this.route})を()。

 

relativeToでのプラス理由。一致しないアドレスのルーティングの問題を最小限に抑えることができ、現在のルートに対する相対ジャンプ。

角度のルートは、私たちは心の中でクリアする必要があり、続きを読むには、しようとし、見直しを継続する必要があります。

 

おすすめ

転載: www.cnblogs.com/jiagoushi/p/11770397.html