成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

MVC 學(xué)習(xí)使用及總結(jié)

djfml / 3248人閱讀

摘要:中間的一層,就是控制層,它負(fù)責(zé)根據(jù)用戶從視圖層輸入的指令,選取數(shù)據(jù)層中的數(shù)據(jù),然后對其進(jìn)行相應(yīng)的操作,產(chǎn)生最終結(jié)果。這三層之間緊密聯(lián)系,又互相獨立,每層內(nèi)部的變化不影響其他層。用做簡歷學(xué)習(xí)了思想后,用思想做了簡歷的留言板。

模塊化

什么是模塊化?就是把一個東西分成幾個塊(模塊),塊與塊之間互相獨立。

在臺式機(jī)時代,很多人都自己主裝過電腦,選購自己喜歡的顯示器,鼠標(biāo),鍵盤,主機(jī),配備性能強(qiáng)勁的cpu、顯卡、內(nèi)存等主成最強(qiáng)配置,這些單個物體都是模塊,互相獨立,可以根據(jù)自己的愛好選擇。

模塊化主要解決合作問題

自己與自己合作

自己與以前的自己合作

自己與別人合作

MVC

MVC 是一種代碼組織形式,他不是任何一種框架,也不是任何一種技術(shù),它就是一種組織代碼的思想,我們要做到事情就是把 M 和 V 傳給 C,C 負(fù)責(zé)初始化 M,然后對 V 進(jìn)行操作。
畫成圖就是這樣:

MVC具體是什么呢?阮一峰老師給了我們很好的解答:

1)最上面的一層,是直接面向最終用戶的"視圖層"(View)。它是提供給用戶的操作界面,是程序的外殼。

2)最底下的一層,是核心的"數(shù)據(jù)層"(Model),也就是程序需要操作的數(shù)據(jù)或信息。

3)中間的一層,就是"控制層"(Controller),它負(fù)責(zé)根據(jù)用戶從"視圖層"輸入的指令,選取"數(shù)據(jù)層"中的數(shù)據(jù),然后對其進(jìn)行相應(yīng)的操作,產(chǎn)生最終結(jié)果。

這三層之間緊密聯(lián)系,又互相獨立,每層內(nèi)部的變化不影響其他層。

用 MVC 做簡歷

學(xué)習(xí)了 MVC 思想后,用 MVC 思想做了簡歷的留言板。

我沒有自己買服務(wù)器,用了線上免費的服務(wù)器——leancloud,具體的使用方法可以看它的使用文檔,這里就不在贅述了。

先上圖,靜態(tài)頁面是仿造網(wǎng)易云音樂做的,做完下來發(fā)現(xiàn)有點丑。

我做這個大概要實現(xiàn)的功能是:

用戶可以留言,必須要輸入用戶名和留言內(nèi)容(留言區(qū)左邊方框本來是頭像,我把它做成輸用戶名的地方)

點擊發(fā)表后,留言會立馬出現(xiàn)在留言墻上

評論條數(shù)實時更新

顯示日期

點贊功能

回復(fù)功能

本想全部用原生 JS 做的,無奈自己水平太次,有些地方使用的 jQuery。

目前做好的功能是1、2、3,剩余三個做了一部分,其中點贊功能在我實踐下來,貌似實現(xiàn)不了,數(shù)據(jù)傳送到后臺,不能累計,所以只做了靜態(tài)的更新,一刷新就沒了。

顯示日期功能,自己對原生 JS 掌握的不好,沒有做成我們常用的日期格式。

回復(fù)功能,今天來不及做了,因為還需要做兩套樣式,一套是回復(fù)時的輸入框,以及上墻后的樣式(這點最后再來做吧)。

今天花時間比較多的地方是動態(tài)創(chuàng)建 DOM 元素,還沒有效果,用原生 JS 真的好難實現(xiàn),我剛開始全部用createElement創(chuàng)建標(biāo)簽,然后在一個個appendChild到頁面中,長長的寫了一坨,還不能復(fù)用,突然就想到自己能不能實現(xiàn)jQueryhtml方法,果然很傻很天真,jQuery源代碼看了半天沒看懂。算了,果斷放棄,還是老老實實使用它吧。

框架

MVC 的 V,頁面可視區(qū)域document.querySelector(".messages"),所有操作都是在它內(nèi)部。

MVD 的 M,操作服務(wù)器,獲取和保存數(shù)據(jù),只負(fù)責(zé)操作服務(wù)器,至于返回數(shù)據(jù)的操作統(tǒng)一由 C 完成

初始化 AV 對象 initAV

請求數(shù)據(jù) fetch

保存數(shù)據(jù) save

2 和 3 都是返回 Promise 對象,可以直接在后面進(jìn)行then操作。

MVC 的 C,負(fù)責(zé)監(jiān)聽 V、調(diào)用 M;M 和 V 都在初始化的時候傳遞給 C,C 內(nèi)部不直接操作 M 和 V。

常用的變量

init:初始化變量和各操作

綁定事件:目前只做了留言功能

進(jìn)入頁面后,加載留言

留言后發(fā)送服務(wù)器,并上墻

用 MVC 思想的,每個模塊里面也都是各個獨立的,每個方法只做該部分該做的事情,這次我做的不是很好,還是有很多混在了一起。

C 部分除了上面講的的 DOM 操作外,還有兩個比較費時的地方。

第一個是,我需要的數(shù)據(jù)是用戶名,留言內(nèi)容和時間,這三個數(shù)據(jù)放在了兩個屬性里面,如果我要自己實現(xiàn)動態(tài)創(chuàng)建 DOM 的話,這數(shù)據(jù)很難拿到,需要反復(fù)的遍歷后臺返回的對象,這就會造成新能很差。后來想到了一種方法——把他們以對象的形式分別push到數(shù)組,出現(xiàn)了一個問題,數(shù)組的下標(biāo)全是偶數(shù),并不是0,1,2,3,4 這樣排列的,這兩個卡在了一起,后來用了 jQuery 之后配合 ES6 語法,很輕松就搞定了(偷懶了)。

第二個是留言上墻時,留言總數(shù)實時更新,數(shù)據(jù)拿到之后,怎么弄都不能加1,老當(dāng)成字符串解析,但用 typeof 檢測返回的又是 number ,搞的頭都暈,試到最后才想起parseInt,我艸,好了,我的天。typeof 果然是個大坑。

總之今天收貨挺大的,發(fā)現(xiàn)自己有好多問題,主要兩點:代碼思路不清晰,出錯了會卡很久;做之前沒考慮全,做到最后才發(fā)現(xiàn)最關(guān)鍵的數(shù)據(jù)拿不到,白白浪費時間。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/108332.html

相關(guān)文章

  • 寫這么多系列博客,怪不得找不到女朋友

    摘要:前提好幾周沒更新博客了,對不斷支持我博客的童鞋們說聲抱歉了。熟悉我的人都知道我寫博客的時間比較早,而且堅持的時間也比較久,一直到現(xiàn)在也是一直保持著更新狀態(tài)。 showImg(https://segmentfault.com/img/remote/1460000014076586?w=1920&h=1080); 前提 好幾周沒更新博客了,對不斷支持我博客的童鞋們說聲:抱歉了!。自己這段時...

    JerryWangSAP 評論0 收藏0
  • SpringMVC之源碼分析--LocaleResolver和ThemeResolver應(yīng)用

    摘要:需求根據(jù)客戶端環(huán)境,界面顯示不同的國旗圖案。選擇的技術(shù)方案可利用提供的國際化和主題定制來解決。注意此時返回的中沒有國際化及主題相關(guān)的信息。修改請求參數(shù)的值為荷蘭,即后再發(fā)起請求,結(jié)果如下與預(yù)期一致,測試通過。 概述 以上分析了Spring MVC的LocaleResolver和ThemeResolver兩個策略解析器,在實際項目中很少使用,尤其是ThemeResolver,花精力去分析...

    qpal 評論0 收藏0
  • 關(guān)于MVC/P 的簡單介紹

    摘要:模式的核心是為了將模型從視圖控制器中分離出來,從而使得模型獨立于它們,因此模型不包含對視圖和控制的引用。 寫在最前面的那些話 相信對于大多數(shù)小白來說,關(guān)于MVP、MVC設(shè)計模式肯定是聽過也看到過很多次了,也許也有過一些簡單了解,但關(guān)于TA的具體概念,如何使用以及具體應(yīng)用等都毫無所知,所以本著許多小伙伴一看到mvp、mvc就一臉懵逼的表情(當(dāng)然也包括本人了⊙▽⊙)#),最近上手一個基于m...

    snowLu 評論0 收藏0
  • Spring MVC官方文檔翻譯稿發(fā)布

    摘要:前后經(jīng)過九個月,我翻譯的官方版本中文文檔可以發(fā)布第一個較為完整的版本了。這點原本是最重要的,但讓位于符合中文習(xí)慣,是因為如果譯本有機(jī)翻痕跡,給人的品質(zhì)感和可信度就降低了更準(zhǔn)確和更優(yōu)雅的翻譯風(fēng)格。 showImg(/img/remote/1460000006773992); 前后經(jīng)過九個月,我翻譯的Spring MVC官方4.2.4版本中文文檔可以發(fā)布第一個較為完整的版本了。譯文上盡量做...

    高勝山 評論0 收藏0
  • 我是如何進(jìn)行Spring MVC文檔翻譯項目的環(huán)境搭建、項目管理自動化構(gòu)建工作的

    摘要:內(nèi)容包括翻譯環(huán)境搭建項目管理與自動化構(gòu)建三部分。博客首頁聲明官方文檔翻譯稿發(fā)布托管在七牛上的翻譯文檔倉庫環(huán)境搭建翻譯與寫作一樣,首要之事均為專注于翻譯寫作本身,而不考慮樣式等方面。安裝完成后,運行即可在啟動一個本地的。 感興趣的同學(xué)可以關(guān)注這個翻譯項目 、 我的博客原文 和 我的Github showImg(/img/remote/1460000006776466); 前段時間翻譯的S...

    shevy 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<