からリダイレクト:Angular2こんにちは、私は唯一の静的メソッド(ヘルパー)と "静的クラスのUtilsのを持っている静的メソッド
export class Utils {
static doSomethingAndRedirect() {
...doo something...
redirectTo->'/home'
}
}
を、どのようにredirectTo
コードは次のようになりますか?
からリダイレクト:Angular2こんにちは、私は唯一の静的メソッド(ヘルパー)と "静的クラスのUtilsのを持っている静的メソッド
export class Utils {
static doSomethingAndRedirect() {
...doo something...
redirectTo->'/home'
}
}
を、どのようにredirectTo
コードは次のようになりますか?
あなたは解決しようとしているユースケースに間違ったアプローチをしています。 ngrx/store
とngrx/effects
をご覧ください。
要するに、アプリケーションの状態を変更するアクションとレデューサーを定義します。
ngrx/effects
)と異なるアクションに反応することができます/dashboard
にコンポーネントこれは懸念の素敵な分離になります:
あなたは私の質問に記載されているケースのためのより具体的な解決策を与えることができますか? - Utils静的クラスでngrxをどのように使うべきですか? –
ngrxは、アプリの状態を管理するための全体的な解決策です。あなたの用途に応じて、過度に使用される可能性があります。小さな、一般的なタスクのためのユーティリティークラスがほしいならば、 'Router'で注入された' UtilityService'はあなたが望むかもしれません。 –
最高私のケースで見つけた解決策はちょうど...静的関数の引数リストにパラメータ 'router'を追加する:
static doSomethingAndRedirect(router) {
...doo something...
router.navigateByUrl('home'); // redirect
}
これは静的ヘルパーの利便性と非静的な "角度の道"です。
ルータへの参照を取得するには、アプリケーションインジェクタへの参照が必要です。静的メソッドを使用しないでください。 –
誰かが私に角度2のない純粋なjsでも答えると満足するでしょう。 Utilsは私のヘルパーSTATICクラスです - 私はそれを変更したくありません。 Redirectinはjsでとても簡単です - angular2に問題がありますか? –
あなたは穀粒に対してAngular2をストロークしようとします。したがって、驚くことはありません;-) Angular2は新しいフレームワークです。 Angular1についてはほとんど何も適用されません。 –