2012-03-13 53 views
3

这可能看起来像一个愚蠢的问题,但我是MVC的新手,特别是extJs。我希望使用MVC方法。我跟着这个链接http://www.extjsframework.com/mvc/simple-mvc-application。但它只有一个页面作为例子。示例页面使用app.js来加载extjs视图。这是我的问题。我有一个应用程序与多个页面。我是否需要为应用程序的每个页面单独制作app.js,或者我可以在所有页面上使用相同的app.js。如果可以的话,请提一下。 谢谢...extJs多个页面的MVC

+1

理想情况下,你的整个应用应该只是一个传统的'页面'。所有其他'传统页面'将被Ext Windows等取代。这是100%客户端MVC体系结构的假设之一,就像您在上面发布的链接一样。如果由于某种原因,你仍然需要多个'网页','extjs mvc'不适用于/覆盖这些网页之间的交互。 – 2012-03-14 01:14:32

+0

下面的任何一个回答有帮助吗? – dbrin 2013-01-16 19:09:26

回答

0

每一页。每次页面卸载时,就像JS slate被清除一样。浏览器会实际缓存文件,但代码执行起来就像是第一次。

+0

无意义的答案。 – 2012-03-13 20:23:18

+0

从用户是否知道JS文件在不同的页面加载之间重新加载的问题来看,并不清楚。 – dbrin 2012-03-14 04:14:03

0

通常它对于所有不同的视图都是一样的app.js。

+0

我问这个问题的原因是,在app.js中我将定义所有我的控制器的应用程序。但是我怎么能在不同的页面上调用不同的控制器?这是我可能需要在index.php上调用控制器A,在test.php上调用控制器B.我怎样才能调用我想要在页面上的控制器? – dev 2012-03-13 20:51:57

0

ExtJS 4的MVC概念是关于体系结构。 documentation很容易澄清。

每天的Ext JS 4应用程序启动与应用类的一个实例。该应用程序包含您的应用程序的全局设置(如应用程序的名称),以及保持对应用程序使用的所有模型,视图和控制器的引用。应用程序还包含一个发射功能,当一切都loaded.B

正如你可以在文档中看到,你将有一个单一的app.js这是自动运行的,也就是将来要像一个引导,负责任的实例化整个应用程序。

你是要去结构中的文件,但是,下面的MVC方法,或模式,才能有一个非常干净的架构。

+0

我问这个问题的原因是,在app.js中,我会定义所有应用程序的控制器。但是我怎么能在不同的页面上调用不同的控制器?这是我可能需要在index.php上调用控制器A,在test.php上调用控制器B.我怎样才能调用我想要在页面上的控制器? – dev 2012-03-13 20:50:43

+0

也许您应该在ExtJS 4上学习更多关于自动加载功能和控制器的知识。他们的入门指南就是您想要的。 – 2012-03-13 20:56:59

2

这里所有的答案是正确的,但是这个问题似乎有点暧昧所以这就是为什么他们都略有不同。

典型的RIA应用程序是一个具有许多不同视图的单个HTML(或php,jsp,asp)页面,所有视图都由JS框架管理,因此不再需要更改页面(并且在大多数情况下由于性能原因而被避免) 。

您的服务器端代码/脚本然后通常降低到在客户端浏览器完全独立运行的RIA应用提供数据JSON数据服务。

正如你可以看到你就不需要有test.php的和index.php文件,并就足以有一个index.php文件与运行了该网页的ExtJS的应用。

如果这个答案没有用,因为你已经知道所有这些,并且真的想要询问多个控制器和ExtJS应用程序的模块化,那么这是一个单独的讨论,并且已经在其他帖子中进行了讨论。 (寻找懒惰的加载控制器)。

希望这会有所帮助。