是否需要在sencha touch中使用Controller?

时间:2013-09-04 16:49:43

标签: sencha-touch sencha-touch-2 sencha-touch-2.1

  1. 控制器和视图之间的关系是什么?如何正确组织它们?

  2. 控制器的剂量如何?在每个视图中都会检查是否有控制器在激活时侦听其事件?

  3. 例如,有很多视图,我应该将所有事件处理程序放在一个Controller中,还是只为每个视图创建一个Controller?

  4. 在我目前的项目中,我们不使用Controller,只需在组件的监听器配置中添加所需的事件处理程序。似乎一切都很好。所以,是否需要使用Controller?

  5. 有人能给我一些有用的MCV例子吗?我只是想知道Controller如何在MVC模式中工作。

3 个答案:

答案 0 :(得分:5)

1)对于MVC实现,请看一下:

2)没有必要,当你从任何控制器设置一个监听器时,它会将处理程序附加到网页上。如果从视图配置中设置控制器,则相同。 请考虑阅读:http://docs.sencha.com/touch/2.2.1/#!/guide/events

3)这取决于你如何组织你的应用程序,例如你可以为每个'模块'创建一个控制器,比如客户和产品。因此,客户端模块视图的所有事件侦听器都可以位于客户端控制器中。或者你可以根据模型分开它,或者如果你的应用有它们可能取决于标签?

4)不是真的需要。但是你可能会遗漏一些有趣的东西,例如,如果一些听众分享他们的处理程序的一部分呢?您必须在每个视图/组件上编写它,并且可能会遇到所有可能的重新工作和维护问题。使用控制器的一个很棒的功能是它自动为你的参考创建的getter / setter。

5)看看:

此外,最好的方法是查看包中提供的st示例,例如geocongress,oreilly或kitchensink

正如您所看到的,在官方网站上有很多的信息:)

希望有所帮助

答案 1 :(得分:0)

更多信息FYI

从理论上讲,这是一个很好的设计模式,可以让你的应用遵循MVC结构。

实际上,在sencha touch中使用控制器并不是最好的做法,至少目前是因为如果定期添加和删除组件以进行优化,控制器操作通常会中断。

答案 2 :(得分:0)