MVC永高、MVVM和Vue的關(guān)系

MVC是后端的編程模式

MVC(Model View Controller)分為三部分:
1.Model(模型)表示應(yīng)用程序核心恨豁。
2.View(視圖)顯示數(shù)據(jù)奠骄。
3.Controller(控制器)處理輸入。

MVC.png

其中的Model層是"M"剩瓶、View層為“V”驹溃,而router.js和Controller合并為“C”城丧。

說明:

1.app.js并沒有路由分發(fā)的功能,需要調(diào)用router.js模塊進(jìn)行路由的分發(fā)處理豌鹤。
2.為了保證職能單一亡哄,router.js只負(fù)責(zé)分發(fā)路由,不負(fù)責(zé)具體業(yè)務(wù)邏輯的處理布疙。
3.如果涉及到了業(yè)務(wù)邏輯處理操作蚊惯,只能調(diào)用Controller模塊進(jìn)行業(yè)務(wù)邏輯處理。
4.在Controller業(yè)務(wù)邏輯處理層封裝了一些具體業(yè)務(wù)邏輯處理的邏輯代碼灵临,但是為了保證職能單一截型,此模塊只負(fù)責(zé)處理業(yè)務(wù),不負(fù)責(zé)處理數(shù)據(jù)的CRUD儒溉。
5.如果涉及到了數(shù)據(jù)的CRUD宦焦,需要調(diào)用Model層。
6.Model層為了職能單一也只能負(fù)責(zé)操作數(shù)據(jù)庫顿涣,進(jìn)行數(shù)據(jù)的CRUD赶诊。
7.CRUD是指 C:create R:read U:update D:delete

MVVM是前端的編程模式

MVVM(Model-View-ViewModel)分為 MVVM三部分:

MVVM.png

說明:

1.MVVM是前端試圖層的分層開發(fā)思想园骆,主要把每個(gè)頁面分成了M舔痪、VVM。其中VM是MVVM的思想核心锌唾,因?yàn)閂M是M和V之間的調(diào)度者锄码。
2.前端頁面中使用MVVM的思想,主要是為了讓程序員開發(fā)更加方便晌涕,因?yàn)镸VVM提供了數(shù)據(jù)的雙向綁定滋捶。

Vue簡單的例子

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <!-- 導(dǎo)入Vue的包 -->
    <script src="./lib/vue.js"></script>
</head>
<body>
    <!-- 將來new的Vue實(shí)例會控制這個(gè)元素中的所有內(nèi)容 -->
    <!-- Vue實(shí)例所控制的元素區(qū)域,就是MVVM中的"V" -->
    <div id="app">
        <p>{{msg}}</p>
    </div>

    <script>
        //創(chuàng)建一個(gè)Vue的實(shí)例
        //當(dāng)我們導(dǎo)入包后余黎,在瀏覽器的內(nèi)存中就多了一個(gè)Vue構(gòu)造函數(shù)
        //我們new出來的vm對象重窟,就是MVVM中的"VM"
        var vm = new Vue({
            el: '#app',//表示當(dāng)前我們new的這個(gè)Vue實(shí)例要控制的區(qū)域  el是element的縮寫
            //data就是MVVM中的"M",用來保存每個(gè)頁面的數(shù)據(jù)
            data: {    //data屬性中惧财,存放的是el中要用到的數(shù)據(jù)
                msg:'歡迎學(xué)習(xí)Vue' //通過Vue提供的指令巡扇,很方便的就能把數(shù)據(jù)渲染到頁面上,程序員不再需要手動(dòng)操作DOM元素垮衷。(Vue之類的前端框架不提倡我們手動(dòng)操作DOM元素)
                                 //手動(dòng)操作DOM元素浪費(fèi)內(nèi)存
                                 //手都操作DOM元素是指給元素賦值ID厅翔,然后通過ID選擇器去操作。
            }
        })
    </script>
</body>
</html>

Vue和MVVM的關(guān)聯(lián)

View層

MVVM中的“V”搀突,負(fù)責(zé)顯示數(shù)據(jù)刀闷。

<!-- 將來new的Vue實(shí)例會控制這個(gè)元素中的所有內(nèi)容 -->
    <!-- Vue實(shí)例所控制的元素區(qū)域,就是MVVM中的"V" -->
    <div id="app">
        <p>{{msg}}</p>
    </div>
VM

MVVM中的"VM",負(fù)責(zé)調(diào)度甸昏。

<script>
        //創(chuàng)建一個(gè)Vue的實(shí)例
        //當(dāng)我們導(dǎo)入包后顽分,在瀏覽器的內(nèi)存中就多了一個(gè)Vue構(gòu)造函數(shù)
        //我們new出來的vm對象,就是MVVM中的"VM"
        var vm = new Vue({
            el: '#app',//表示當(dāng)前我們new的這個(gè)Vue實(shí)例要控制的區(qū)域  el是element的縮寫
            //data就是MVVM中的"M"施蜜,用來保存每個(gè)頁面的數(shù)據(jù)
            data: {    //data屬性中卒蘸,存放的是el中要用到的數(shù)據(jù)
                msg:'歡迎學(xué)習(xí)Vue' //通過Vue提供的指令,很方便的就能把數(shù)據(jù)渲染到頁面上花墩,程序員不再需要手動(dòng)操作DOM元素悬秉。(Vue之類的前端框架不提倡我們手動(dòng)操作DOM元素)
                                 //手動(dòng)操作DOM元素浪費(fèi)內(nèi)存
                                 //手都操作DOM元素是指給元素賦值ID澄步,然后通過ID選擇器去操作冰蘑。
            }
        })
    </script>
M

MVVM中的"M",負(fù)責(zé)保存數(shù)據(jù)村缸。

//data就是MVVM中的"M"祠肥,用來保存每個(gè)頁面的數(shù)據(jù)
            data: {    //data屬性中,存放的是el中要用到的數(shù)據(jù)
                msg:'歡迎學(xué)習(xí)Vue' //通過Vue提供的指令梯皿,很方便的就能把數(shù)據(jù)渲染到頁面上仇箱,程序員不再需要手動(dòng)操作DOM元素。(Vue之類的前端框架不提倡我們手動(dòng)操作DOM元素)
                                 //手動(dòng)操作DOM元素浪費(fèi)內(nèi)存
                                 //手都操作DOM元素是指給元素賦值ID东羹,然后通過ID選擇器去操作剂桥。
            }

說明:
使用了Vue框架就可以不需要給元素的標(biāo)簽賦值ID值,不需要使用ID選擇器去操作DOM元素属提,直接交給VM處理即可权逗。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市冤议,隨后出現(xiàn)的幾起案子斟薇,更是在濱河造成了極大的恐慌,老刑警劉巖恕酸,帶你破解...
    沈念sama閱讀 211,561評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件堪滨,死亡現(xiàn)場離奇詭異,居然都是意外死亡蕊温,警方通過查閱死者的電腦和手機(jī)袱箱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,218評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來义矛,“玉大人犯眠,你說我怎么就攤上這事≈⒏铮” “怎么了筐咧?”我有些...
    開封第一講書人閱讀 157,162評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我量蕊,道長铺罢,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,470評論 1 283
  • 正文 為了忘掉前任残炮,我火速辦了婚禮韭赘,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘势就。我一直安慰自己泉瞻,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,550評論 6 385
  • 文/花漫 我一把揭開白布苞冯。 她就那樣靜靜地躺著袖牙,像睡著了一般。 火紅的嫁衣襯著肌膚如雪舅锄。 梳的紋絲不亂的頭發(fā)上鞭达,一...
    開封第一講書人閱讀 49,806評論 1 290
  • 那天,我揣著相機(jī)與錄音皇忿,去河邊找鬼畴蹭。 笑死,一個(gè)胖子當(dāng)著我的面吹牛鳍烁,可吹牛的內(nèi)容都是我干的叨襟。 我是一名探鬼主播,決...
    沈念sama閱讀 38,951評論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼幔荒,長吁一口氣:“原來是場噩夢啊……” “哼糊闽!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起铺峭,我...
    開封第一講書人閱讀 37,712評論 0 266
  • 序言:老撾萬榮一對情侶失蹤墓怀,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后卫键,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體傀履,經(jīng)...
    沈念sama閱讀 44,166評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,510評論 2 327
  • 正文 我和宋清朗相戀三年莉炉,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了钓账。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,643評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡絮宁,死狀恐怖梆暮,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情绍昂,我是刑警寧澤啦粹,帶...
    沈念sama閱讀 34,306評論 4 330
  • 正文 年R本政府宣布偿荷,位于F島的核電站,受9級特大地震影響唠椭,放射性物質(zhì)發(fā)生泄漏跳纳。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,930評論 3 313
  • 文/蒙蒙 一贪嫂、第九天 我趴在偏房一處隱蔽的房頂上張望寺庄。 院中可真熱鬧,春花似錦力崇、人聲如沸斗塘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,745評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽馍盟。三九已至,卻和暖如春台猴,著一層夾襖步出監(jiān)牢的瞬間朽合,已是汗流浹背俱两。 一陣腳步聲響...
    開封第一講書人閱讀 31,983評論 1 266
  • 我被黑心中介騙來泰國打工饱狂, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人宪彩。 一個(gè)月前我還...
    沈念sama閱讀 46,351評論 2 360
  • 正文 我出身青樓休讳,卻偏偏與公主長得像,于是被迫代替她去往敵國和親尿孔。 傳聞我的和親對象是個(gè)殘疾皇子俊柔,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,509評論 2 348