天天看點

Web應用開發(前端)—Ext Js 的MVC(1)

目前MVC的應用已經不在滿足于背景的開發。分層的應用更好的使得系統中的各層進行解耦。可以提高代碼的閱讀性以及後期的維護性。

在面向對象程式設計的今天,古老的JS代碼也加入了對象程式設計的年代,自然MVC的結構也是必然的發展。

我之前并未接觸過JS方面的MVC,是以借此機會進行一次新鮮的嘗試。

Ext 的MVC架構包含了Controller, View, Model, Store. 通過其定義就可明确知道這些元件在MVC中的應用。

下面我們一步一步的來配置MVC架構。

1.  建立目錄

     我這裡所說的是建立工程目錄,我已經将Ext JS的代碼放在了單獨的Ext檔案夾中。

     根據以前背景的經驗,我将系統目錄分為以下幾類:

Web應用開發(前端)—Ext Js 的MVC(1)

        說明一下:

             controller,model,store,view 就不用多說了。

             plugins 裡面放置前端的一些自定義插件。

             pages裡面存放所有的html/jsp頁面

2. 建立首頁

    在pages中,建立一個index.html頁面作為首頁。(在不涉及背景代碼前,我暫時采用html的頁面)

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../ext/resources/ext-theme-neptune/ext-theme-neptune-all.css" target="_blank" rel="external nofollow" />
<link rel="stylesheet" type="text/css" href="../css/library.css" target="_blank" rel="external nofollow" />
<script type="text/javascript" src="../ext/ext-all.js"></script>
<script type="text/javascript" src="../js/libraryApp.js"></script>
<title>ODC Library</title>
</head>
<body>
</body>
</html>
           

頁面上并沒有太多代碼,在Ext的MVC中,所有的頁面代碼都是由Ext.application動态建立的。(富用戶端的任務是把複雜任務簡單化,簡單任務複雜化。是以請做好用複雜的方法來解決簡單問題的心理準備。)

一般來講一個頁面對應一個application. 由application建立相應的View,Controller, 在Controller中引入Model,并且綁定Store

3. 建立啟動腳本:libraryApp.js

這個腳本是所有程式的入口

Ext.application({
	name:'Library',
	appFolder:'../js',
	controllers:['Library','Login'],
	launch: function(){
		Ext.create('Library.view.LibraryView');
	}
});
           

在此,我手動建立了一個Viewport,如果autoCreateViewport為true時,Ext會動态加載 /{appFolder}/view/Viewport.js,如果該檔案不存在,則會報加載失敗的錯誤。

系列連結:Web應用開發(前端)—Ext Js的MVC(2)