是否需要在sencha touch中使用控制器


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

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

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

  4. 在我当前的项目中,我们不使用Controller,而只是在组件的侦听器配置中添加所需的事件处理程序。看来一切都很顺利。那么,是否需要使用Controller?

  5. 有人能给我举一些有用的MCV例子吗?我只是在浏览控制器在MVC模式中是如何工作的。

1)对于MVC实现,请查看:

  • http://docs.sencha.com/touch/2.2.1/#/视频/mvc-第1部分
  • http://docs.sencha.com/touch/2.2.1/#/视频/mvc-part-2
  • http://docs.sencha.com/touch/2.2.1/#/guide/mvc_dependencies
  • http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller
  • http://www.sencha.com/blog/architecting-your-app-with-sencha-touch-2-mvc/

2) 没有必要,当您从任何控制器设置侦听器时,它会将处理程序附加到网页。如果您从视图配置中设置控制器,也是如此。考虑阅读:http://docs.sencha.com/touch/2.2.1/#/指南/活动

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

4) 不是真的需要。但你可能错过了一些有趣的事情,例如,如果一些听众共享他们的部分处理程序呢?你必须把它写在每个视图/组件上,并考虑所有可能需要的返工和维护问题。使用控制器的一个伟大特性是它为refs自动创建的getter/setter。

5) 看看:

  • http://docs.sencha.com/touch/2.2.1/#/导向器/控制器
  • http://www.sencha.com/forum/showthread.php?262730-MVC示例应用程序
  • http://www.sencha.com/blog/architecting-your-app-with-sencha-touch-2-mvc/

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

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

希望它能帮助

更多信息仅供参考

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

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

最新更新