1

我有几个行为非常相似的对象。我想为与这些对象相关的控制器提供一个基本实现,然后extend让这些控制器稍微自定义行为。我正在做这样的事情:

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

现在我将使用基本控制器来定义我的真实对象控制器:

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

我有两个问题:

  1. 是否有任何一般性意见不鼓励这种重用?
  2. extend机制是否是重用通用控制器实现的正确方法,确保在扩展相同基本控制器的控制器之间不会“泄漏”任何状态数据?
4

1 回答 1

1

您可以按照您的建议执行此操作,但请注意,如果 App.BaseIndexController 中定义的任何属性已被启动,它们都会泄漏(检查一下常见错误)

Mixins也可以很好地工作,因为它们更可重用。EmberMixins在内部使用了很多东西,所以这种方法不会出错。

于 2013-07-24T10:17:33.040 回答