Heim  >  Artikel  >  Web-Frontend  >  基于mvc结构的前端页面框架搭建_html/css_WEB-ITnose

基于mvc结构的前端页面框架搭建_html/css_WEB-ITnose

WBOY
WBOYOriginal
2016-06-24 11:39:591543Durchsuche

前端开发一年了,向大家交流下自己实践总结下来的一点点开发心得。人生难免磕磕碰碰,前进的道路很多,在学习工作上我们都得学会如何让自己过的更高效,代码亦是如此。

下面,开始介绍自己总结的前端框架搭建(布局搭建)。

1,项目文件结构。

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()方法开始执行。其中这个方法充当控制层。代码如下:

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中的视图层,主要的作用用,就是给页面增加元素。代码如下:

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里面,这样,在创建新的界面时,就可以很快从公共模块中引用,无独有偶,既然视图层可以,控制层是不是也可以呢?这里我只做视图层的简单介绍,如果大家感兴趣可以自己研究,或者加我,很乐意和大家分享。下面是视图层的公共部分了。代码如下:

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" alt="基于mvc结构的前端页面框架搭建_html/css_WEB-ITnose" ><a href="">首页</a></li>',            '<li><img  src="http://placehold.it/48x48" alt="基于mvc结构的前端页面框架搭建_html/css_WEB-ITnose" ><a href="">考试</a></li>',            '<li><img  src="http://placehold.it/48x48" alt="基于mvc结构的前端页面框架搭建_html/css_WEB-ITnose" ><a href="">成绩查询</a></li>',            '<li><img  src="http://placehold.it/48x48" alt="基于mvc结构的前端页面框架搭建_html/css_WEB-ITnose" ><a href="">个人中心</a></li>',            '</ul>',            '<div class="logo">',            '<h1>福建业余无线电操作能力考试</h1>',            '</div>',            '</div>',            '</div>'        ].join('');    }    api.getGreenHeadHtml = function() {        // do same different html    }    return api;})()

 

通过这三个模块的开发,我们可以很快的为页面头部制作不同效果,而不用手动的去修改页面结构。

当然,MVC中的模型层,这篇幅中我就不做过多的介绍了。欢迎大家指点。 附件不知道怎么传(= =),如果大家想要源码,可以直接加我。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn