ExtJS Action在哪里适合MVC模式

时间:2012-03-23 14:57:26

标签: extjs4 extjs-mvc

我非常喜欢ExtJS Actions的概念。我看了at this example,它(几乎)正是我所需要的。唯一的问题是我正在尝试使用MVC模式。 我有:

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

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

2 个答案:

答案 0 :(得分:6)

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

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

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

希望这会有所帮助。祝你好运:)

答案 1 :(得分:1)

只需执行someview.fireEvent('Yourcustomevent');