0

3 つのウィンドウ ウィザードを作成しました。それらはすべて同じページ上の 3 つの div です (または、より良い解決策があれば、部分的に分割することもできます)。jquery のフェードイン/アウトを使用して、ウィザードの div を遷移します。それらはすべて、ウィザード中に認識しておく必要があるいくつかのデータ オブジェクトを共有しています。2 番目のウィンドウは、3 番目のウィンドウに遷移する前に ajax 呼び出しからのコールバックを待機している、単に「しばらくお待ちください」です。

フェードイン/アウトをディレクティブにロードしたところ、機能しました。問題は、コントローラー内の DOM 要素の状態を「フラグ」で追跡することです。

$scope.someDomId == 「表示」または「非表示」。

ディレクティブは、上記の id の変更を監視し、変更された場合は適切なアクションを実行します。

これは機能しますが、私には醜いようです。確かに、コントローラーから Dom 操作を削除しましたが、総フラグ システムに置き換えました。

これはベストプラクティスですか?これは本当に良いですか?はい、今ではより簡単に単体テストを行うことができますが、現時点で認識されている利点はそれだけです。

4

1 に答える 1

0

コントローラーの 1 つのフラグ変数に関連する 1 つのページに複数のディレクティブがある状況が発生する可能性があります。そして、それらはこのように別々に機能します。

于 2013-03-26T09:16:36.357 に答える