2012-03-13 50 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應用程序的模塊化,那麼這是一個單獨的討論,並且已經在其他帖子中進行了討論。 (尋找懶惰的加載控制器)。

希望這會有所幫助。