国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

MVC 學習使用及總結

djfml / 3245人閱讀

摘要:中間的一層,就是控制層,它負責根據用戶從視圖層輸入的指令,選取數據層中的數據,然后對其進行相應的操作,產生最終結果。這三層之間緊密聯系,又互相獨立,每層內部的變化不影響其他層。用做簡歷學習了思想后,用思想做了簡歷的留言板。

模塊化

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

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

模塊化主要解決合作問題

自己與自己合作

自己與以前的自己合作

自己與別人合作

MVC

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

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

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

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

3)中間的一層,就是"控制層"(Controller),它負責根據用戶從"視圖層"輸入的指令,選取"數據層"中的數據,然后對其進行相應的操作,產生最終結果。

這三層之間緊密聯系,又互相獨立,每層內部的變化不影響其他層。

用 MVC 做簡歷

學習了 MVC 思想后,用 MVC 思想做了簡歷的留言板。

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

先上圖,靜態頁面是仿造網易云音樂做的,做完下來發現有點丑。

我做這個大概要實現的功能是:

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

點擊發表后,留言會立馬出現在留言墻上

評論條數實時更新

顯示日期

點贊功能

回復功能

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

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

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

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

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

框架

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

MVD 的 M,操作服務器,獲取和保存數據,只負責操作服務器,至于返回數據的操作統一由 C 完成

初始化 AV 對象 initAV

請求數據 fetch

保存數據 save

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

MVC 的 C,負責監聽 V、調用 M;M 和 V 都在初始化的時候傳遞給 C,C 內部不直接操作 M 和 V。

常用的變量

init:初始化變量和各操作

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

進入頁面后,加載留言

留言后發送服務器,并上墻

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

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

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

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

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

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/108332.html

相關文章

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

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

    JerryWangSAP 評論0 收藏0
  • SpringMVC之源碼分析--LocaleResolver和ThemeResolver應用

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

    qpal 評論0 收藏0
  • 關于MVC/P 的簡單介紹

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

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

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

    高勝山 評論0 收藏0
  • 我是如何進行Spring MVC文檔翻譯項目的環境搭建、項目管理自動化構建工作的

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

    shevy 評論0 收藏0

發表評論

0條評論

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