1

さまざまな種類の状態の管理に関するベスト プラクティスは何ですか? たとえば、一部の状態をルートに関連付けるのが理にかなっているアプリがあるため、ルーターを使用していますが、他の状態は URL に反映できず、そうすることは意味がありません。では、一部の状態を完全なルーターで管理し、他の状態を状態マネージャーのインスタンスで管理することは問題ないでしょうか? 複数の状態管理者を持つことは許容されますか、それとも悪い考えですか?

4

1 に答える 1

3

はい -Ember.StateManagerルーター以外の場所で を使用することはまったく問題ありません。

ルーターは、全体的なアプリケーションの状態を処理し、モデル/ビュー/コントローラーを一緒に接続し、アウトレットにレンダリングし、グローバルな依存関係なしで常に利用できるようにするのに非常に優れています。ただし、ルーターは実際には、一度に 1 つの状態にすることしかできない単なる状態マネージャーであり、他のオブジェクト内で追加の状態が必要になる場合があります。

オブジェクト内で StateManager を使用できます。この例は、Car運転中、駐車中、クラッシュ、修理中などの状態を持つモデルです。状態マネージャーはここに適しています。これは、有限の状態があり、使用可能なアクションを制御できるためです。たとえば、から移動しても意味がなく、許可されるdriving->repairingだけです。crashed->repairing

于 2012-10-06T14:54:54.613 に答える