欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

web面試MVC與MVVM區(qū)別及Vue為什么不完全遵守MVVM解答

 更新時(shí)間:2021年09月24日 12:02:25   作者:SpringSir  
這篇文章主要介紹了web面試中常問問題,MVC與MVVM區(qū)別以及Vue為什么不完全遵守MVVM的難點(diǎn)解答,有需要的朋友可以借鑒參考下,希望能夠有所幫助

MVC和MVVM區(qū)別

前述

首先, 這兩種都只是一種思想, 一種設(shè)計(jì)模式

很多編程語(yǔ)言根據(jù)這種思想設(shè)計(jì)出了很多框架, 例如Java中的SpringMVC, PHP中的ThinkPHP , JavaScript中的Vue、React、Angular等

MVC

概述

 

1.數(shù)據(jù)要渲染到視圖上
  定義一個(gè)模板引擎
  得到數(shù)據(jù)
  再將數(shù)據(jù)渲染到模板引擎中

2.視圖操作控制器
  在頁(yè)面上的按鈕中添加點(diǎn)擊事件
  在事件中調(diào)用方法
  控制器再發(fā)送請(qǐng)求去修改數(shù)據(jù)

3.通過方法發(fā)送網(wǎng)絡(luò)請(qǐng)求修改數(shù)據(jù)
  再發(fā)送網(wǎng)絡(luò)請(qǐng)求得到修改后的數(shù)據(jù)
  再將數(shù)據(jù)渲染到視圖上

優(yōu)缺點(diǎn)

優(yōu)點(diǎn):

降低耦合,便于代碼的維護(hù)和擴(kuò)展

缺點(diǎn):

每次數(shù)據(jù)更新之后,都需要操作dom, 影響開發(fā)效率;

MVVM

 

概述

前言

為了提高開發(fā)效率,出現(xiàn)了新的思想:MVVM。它最大的特點(diǎn):雙向數(shù)據(jù)綁定;

當(dāng)M中的數(shù)據(jù)發(fā)生改變時(shí),V中的數(shù)據(jù)會(huì)自動(dòng)發(fā)生改變當(dāng)V中的數(shù)據(jù)發(fā)生改變時(shí),M中的數(shù)據(jù)會(huì)自動(dòng)發(fā)生改變;

MVVM是MVC的進(jìn)步, 是MVC的替代品。

特點(diǎn):

當(dāng)M改變時(shí),V會(huì)自動(dòng)改變當(dāng)V改變時(shí),M會(huì)自動(dòng)改變

關(guān)系:

一旦M改變,VM會(huì)檢測(cè)會(huì)M的變化,會(huì)自動(dòng)去修改V

一旦V改變, VM會(huì)檢測(cè)到V的變化,會(huì)自動(dòng)去修改M

有了MVVH之后,所有的dom操作都是由vm來(lái)操作,減少了程序員工作量,程序員就可以將大量的時(shí)間用在業(yè)務(wù)邏輯上,而不是dom操作上。

MVVM實(shí)現(xiàn)者 — Vue

在這里插入圖片描述

Vue為什么沒有完全遵守MVVM?

在這里插入圖片描述

原話來(lái)源于Vue官網(wǎng)作者自述, 但是作者并沒有給出原因, 根據(jù)查閱和自己整理, 認(rèn)為有2點(diǎn)原因

原因一: mvvm是指 “模型-視圖-視圖模型”, 應(yīng)該是讓"模型"和"視圖"實(shí)現(xiàn)完全的解耦, 但是vue中提供了一個(gè)屬性: ref, 通過ref可以拿到dom對(duì)象,通過ref直接去操作視圖。這一點(diǎn)上,違背了mvvm;

原因二: 如下圖, 結(jié)構(gòu)上, “數(shù)據(jù)層"包含在了"數(shù)據(jù)模型層”, 這兩個(gè)部分沒有完全獨(dú)立出來(lái)

在這里插入圖片描述

以上就是web面試MVC與MVVM區(qū)別及Vue為什么不完全遵守MVVM解答的詳細(xì)內(nèi)容,更多關(guān)于MVC與MVVM的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Vue中的偵聽器及使用場(chǎng)景

    Vue中的偵聽器及使用場(chǎng)景

    Vue中的偵聽器是一種響應(yīng)式機(jī)制,可以對(duì)指定的數(shù)據(jù)進(jìn)行監(jiān)聽,并在數(shù)據(jù)變化時(shí)執(zhí)行相應(yīng)的回調(diào)函數(shù)。常用于監(jiān)聽復(fù)雜數(shù)據(jù)類型的變化,如對(duì)象和數(shù)組。通過偵聽器,可以實(shí)現(xiàn)數(shù)據(jù)的自動(dòng)更新和邏輯處理等功能,提高代碼的可讀性和可維護(hù)性
    2023-05-05
  • vue3的watch用法以及和vue2中watch的區(qū)別

    vue3的watch用法以及和vue2中watch的區(qū)別

    這篇文章主要介紹了vue3的watch用法以及和vue2中watch的區(qū)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • 關(guān)于實(shí)現(xiàn)Vue3版抖音滑動(dòng)插件踩坑指南

    關(guān)于實(shí)現(xiàn)Vue3版抖音滑動(dòng)插件踩坑指南

    這篇文章主要給大家介紹了關(guān)于實(shí)現(xiàn)Vue3版抖音滑動(dòng)插件踩坑指南,文中通過實(shí)例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用vue3具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-02-02
  • vue中mock數(shù)據(jù),模擬后臺(tái)接口實(shí)例

    vue中mock數(shù)據(jù),模擬后臺(tái)接口實(shí)例

    這篇文章主要介紹了vue中mock數(shù)據(jù),模擬后臺(tái)接口實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • 在vue中使用cookie記住用戶上次選擇的實(shí)例(本次例子中為下拉框)

    在vue中使用cookie記住用戶上次選擇的實(shí)例(本次例子中為下拉框)

    這篇文章主要介紹了在vue中使用cookie記住用戶上次選擇的實(shí)例(本次例子中為下拉框),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2020-09-09
  • 解決Vue項(xiàng)目中Emitted value instead of an instance of Error問題

    解決Vue項(xiàng)目中Emitted value instead of an 

    這篇文章主要介紹了解決Vue項(xiàng)目中Emitted value instead of an instance of Error問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Vue集成百度地圖實(shí)現(xiàn)位置選擇功能

    Vue集成百度地圖實(shí)現(xiàn)位置選擇功能

    由于添加門店時(shí),需要選擇門店的省、市、區(qū)、詳細(xì)地址、以及門店的經(jīng)緯度信息,本文給大家分享Vue集成百度地圖實(shí)現(xiàn)位置選擇功能,感興趣的朋友一起看看吧
    2022-06-06
  • vue循環(huán)數(shù)組改變點(diǎn)擊文字的顏色

    vue循環(huán)數(shù)組改變點(diǎn)擊文字的顏色

    這篇文章主要為大家詳細(xì)介紹了vue循環(huán)數(shù)組改變點(diǎn)擊文字的顏色,非常實(shí)用的切換效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • 學(xué)習(xí)Vue組件實(shí)例

    學(xué)習(xí)Vue組件實(shí)例

    本篇文章給大家分享了Vue實(shí)例的相關(guān)內(nèi)容以及重要知識(shí)點(diǎn),對(duì)此有興趣的朋友可以跟著學(xué)習(xí)參考下。
    2018-04-04
  • Vue中引用assets中圖片的實(shí)現(xiàn)方式

    Vue中引用assets中圖片的實(shí)現(xiàn)方式

    這篇文章主要介紹了Vue中引用assets中圖片的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10

最新評(píng)論