ExtJS Action在哪里适合MVC模式

Mil*_*lan 7 extjs4 extjs-mvc

我非常喜欢ExtJS Actions的概念.我看了这个例子,它(几乎)正是我需要的.唯一的问题是我正在尝试使用MVC模式.我有:

  • invoicelist(查看)
  • Inovice(控制器)
  • 发票(型号)
  • 发票(商店)

我在哪里以及如何为Action定义?他们应该在控制器中吗?如何打电话给他们并参考他们?我需要几个动作,它们将在上下文菜单和invoicelist工具栏的菜单中.

dbr*_*rin 6

好问题.看来,Actions通过某种方式将View和Controller范例结合在一起,打破了MVC模式.因为他们有处理程序,所以它们带有功能,以及文本和图标等UI元素.然而它们不是组件 - 在ExtJS意义上.因此,您无法使用选择器来定位它们.

考虑它们的最佳方式是作为配置对象.不多也不少.配置对象本身没有意义 - 并且无法定位.与动作相同.例如,它们实际上可以用作按钮的配置对象.

现在他们应该去哪里?我猜的答案真的取决于你作为设计师.由于他们没有确认严格的MVC模式,因此您可以根据您需要的特定操作的广泛程度来做出决策.对于许多视图共享的真正全局操作,您甚至可以将其放在应用程序配置中:例如,MyApp.app.actions ["delete"].如果控制器将配置多个视图并将它们与商店连接在一起,那么控制器可能是放置它的好地方.他们可以使用共享操作连接多个视图.

希望这可以帮助.祝好运 :)