基於mvc結構的前端頁面框架搭建

前端開發一年了,向你們交流下本身實踐總結下來的一點點開發心得。人生不免磕磕碰碰,前進的道路不少,在學習工做上咱們都得學會如何讓本身過的更高效,代碼亦是如此。javascript

下面,開始介紹本身總結的前端框架搭建(佈局搭建)。css

1,項目文件結構。html

2,index.html頁面內容前端

 

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>index</title>
 6     <link rel="stylesheet" href="css/layout.css">
 7     <link rel="stylesheet" href="css/bs.cut.min.css">
 8 </head>
 9 <body>
10     <div id="container">
11         <div class="header"></div>
12         <div class="contain"></div>
13         <div class="footer"></div>
14     </div>
15 </body>
16 <script>
17     window.APP = {};
18 </script>
19 <script type="text/javascript" src="/framebj/thirdparty/jquery/1.11.1/jquery.min.js"></script>
20 <script src="js/controller/index.js"></script>
21 <script src="js/view/common.js"></script>
22 <script src="js/view/index.js"></script>
23 <script>
24     $(function() {
25         APP.controller.index.start();
26     })
27 </script>
28 </html>

 

其中頁面佈局樣式主要在layout.css中。頁面結構包含上、中、下三部分,這裏重點講的是關於js如何控制文件載入。在頁面的js最開始的部分,設置一個全局對象。全部的業務方法以及屬性都將與這個對象掛鉤。頁面上除了基本的佈局以外,其餘的全部程序執行,,都將經過APP.controller.index.start()方法開始執行。其中這個方法充當控制層。代碼以下:java

APP.controller = {};
APP.controller.index = (function() {
    var api = {};
    api.start = function() {
        APP.view.index.loadBody(function() {
            addEvent();
        });
    }
    function addEvent() {
        // add someThing
    }
    return api;
})()

 

其中,在start方法中,APP.view.index.loadBody()方法,充當的是MVC中的視圖層,主要的做用用,就是給頁面增長元素。代碼以下:jquery

APP.view.index = (function() {
    var api = {};
    api.loadBody = function(callback) {
        $('.header').html(APP.view.common.getBlueHeaderHtml());
        callback.call(this);
    };
    return api;
})()

 

在這裏你們就會以爲,既然已經有了APP.view.index.loadBody()這個方法了,爲何我還要在這方法裏面添加額外的common視圖層呢?答案很簡單,咱們都知道,一個項目中,咱們不可能只作一個頁面,這裏我將頁面公共部分的代碼抽離了出來,獨立的放在一個公共的視圖層js裏面,這樣,在建立新的界面時,就能夠很快從公共模塊中引用,無獨有偶,既然視圖層能夠,控制層是否是也能夠呢?這裏我只作視圖層的簡單介紹,若是你們感興趣能夠本身研究,或者加我,很樂意和你們分享。下面是視圖層的公共部分了。代碼以下:api

APP.view={};
APP.view.common = (function() {
    var api = {};
    api.getBlueHeaderHtml = function() {
        return [
            '<div class="banner">',
            '<div class="page">',
            '<ul class="pull-right nav icon-nav" style="top: 16px;">',
            '<li><img src="http://placehold.it/48x48"><a href="">首頁</a></li>',
            '<li><img src="http://placehold.it/48x48"><a href="">考試</a></li>',
            '<li><img src="http://placehold.it/48x48"><a href="">成績查詢</a></li>',
            '<li><img src="http://placehold.it/48x48"><a href="">我的中心</a></li>',
            '</ul>',
            '<div class="logo">',
            '<h1>福建業餘無線電操做能力考試</h1>',
            '</div>',
            '</div>',
            '</div>'
        ].join('');
    }
    api.getGreenHeadHtml = function() {
        // do same different html
    }
    return api;
})()

 

經過這三個模塊的開發,咱們能夠很快的爲頁面頭部製做不一樣效果,而不用手動的去修改頁面結構。前端框架

固然,MVC中的模型層,這篇幅中我就不作過多的介紹了。歡迎你們指點。 附件不知道怎麼傳(= =),若是你們想要源碼,能夠直接加我。框架

相關文章
相關標籤/搜索