4

この例では、ng-switchを使用して、異なるビューを切り替えることができます。各ビューにはコントローラーが割り当てられます。

ここに簡単なサンプルをオンラインで掲載しました:http://jsfiddle.net/FBHjZ/1/

ビューを切り替えるたびにコントローラーが復元されているようです。入力フィールドに値を入力し、ホームに戻って設定に戻ると、値が失われます。

どうすればこれを防ぐことができますか?基本的に、私が欲しいのは、ビューを切り替えるときに前のビューの状態を維持することです。

4

1 に答える 1

6

ngSwitch既存のコントローラーを再インスタンス化して新しいスコープを再作成することを防ぐ方法はありません。ドキュメントに記載されているように、このディレクティブは新しいスコープを作成し、対応するDOM要素を実際に作成/破棄します。

状態を保持することが目的の場合は、親スコープの1つに配置するだけで、次のjsFiddleを確認してください。http: //jsfiddle.net/FBHjZ/2/

別のアプローチは、共有モデルのサービスを使用することです。

于 2012-10-18T17:23:55.443 に答える