1

非常によく似た動作をするオブジェクトがいくつかあります。extendこれらのオブジェクトに関連するコントローラーの基本実装を提供し、それらのコントローラーの動作をわずかにカスタマイズしたいと思います。私はこのようなことをしています:

App.BaseIndexController = Ember.ArrayController.extend({
    ...
});

次に、ベース コントローラーを使用して実際のオブジェクト コントローラーを定義します。

App.AgentsIndexController = App.BaseIndexController.extend({
    ....
});

2 つの質問があります。

  1. この種の再利用を思いとどまらせる一般的なコメントはありますか?
  2. extend同じベースコントローラーを拡張するコントローラー間で状態データが「漏えい」しないようにするメカニズムは、汎用コントローラーの実装を再利用する正しい方法ですか?
4

1 に答える 1

1

あなたが提案したようにそれを行うことができますが、App.BaseIndexControllerで定義されたプロパティは、開始された場合にリークすることに注意してください(よくある間違いについては、これをチェックしてください)

Mixins再利用性が高いため、うまく機能することもあります。Ember はMixins内部で多くのことを使用するため、そのアプローチを間違えることはありません。

于 2013-07-24T10:17:33.040 に答える