0

アプリケーションの初期化時に、すべてのコントローラーがEmberによって初期化されます。いずれかのコントローラーを操作した後、その値は保持されます。これは、コントローラーを再利用するときに問題になります。私は知りたいです:

  1. アプリケーションの初期化時にすべてのコントローラーを初期化することの利点は?
  2. すべての変数がリセットされるようにコントローラーを再利用するという私の問題を解決する方法はありますか?

PS:「コントローラーの再利用」を誤解しないでください。私が欲しいのは、以前のタスクから以前に入力された値なしで同じコントローラーを使用することです。

4

1 に答える 1

2

コントローラーは、ビューが点滅して存在しなくなっても、長寿命でアプリケーションの状態を維持することを目的としています。典型的なEmberアプリでは、コントローラーは一度作成され、アプリの存続期間中存続するため、アプリの初期化時にすべてを初期化する理由があります。

コントローラを「リセット」する簡単な方法として、を使用できます。Ember.ObjectControllerプロキシは、プロパティとして設定したオブジェクトを取得し、コントローラで定義されていないプロパティのセットを取得しcontentます。コントローラをリセットするcontentには、新しいオブジェクトに設定するだけです。

于 2012-09-27T03:00:38.820 に答える