5

私はisActivesetupControllerで設定しています:

App.EntryRoute = Ember.Route.extend
    setupController: (controller) ->
        controller.set('isActive', true)

路線変更の際は削除したいと思います。

これを行う最善の方法は何ですか?コントローラーを取り外したときのフックはありますか?

編集:間違ったことを尋ねたようです。モデルが変更されたときにこれをトリガーしたいのですdeactivateが、ルートを離れたときにのみ変更されるため、意味は機能しません。

4

3 に答える 3

2

路線変更の際は削除したいと思います。これを行う最善の方法は何ですか?

おそらく探しているのは、ルートのdeactivateフックです。の厳密な「反対」ではありませんがsetupControllerdeactivateルーターがルートを終了するたびに呼び出されます。ドキュメントはこちら: http://emberjs.com/api/classes/Ember.Route.html#method_deactivate

于 2013-05-11T04:13:25.593 に答える
1

@Mike Grassotti が既に述べたようdeactivateに、彼のカウンターパートactivateは問題を解決するために必要な場合があるため、EntryRoute は次のようになります。

App.EntryRoute = Ember.Route.extend
  activate: () ->
    @controllerFor('index').set('isActive', true)

  deactivate: () ->
    @controllerFor('index').set('isActive', false)

それが役に立てば幸い

于 2013-05-11T11:53:31.833 に答える
0

変更を監視するにcontentは、「コンテンツ」のキーを監視する計算プロパティ、またはロードしたモデルで修正されたものを作成できます。私はこれを適切にチェックしていませんが、コードは次のようになります。

modelChanged: function() {
  //do something here
  }.observes('key_in_model')

私が理解していないのは、コードがある時点で、コントローラーにロードされているモデルを変更することです。そのコードを使用して、必要な変換/式/その他を実行できませんでしたか?

于 2013-05-11T23:21:10.140 に答える