Vue.js 概述與 MVVM 模式

一、Vue.js

1. Vue.js 是什麼

Vue.js 是一個輕巧、高性能、可組件化的 MVVM 庫,擁有非常容易上手的 API;
Vue.js是一個構建數據驅動的 Web 界面的庫。

2. Vue.js 的特性

1. 輕量級的框架
2. 雙向數據綁定
3. 指令
4. 插件化(組件化)

3. MVVM 框架

  • MVVM(Model-View-ViewModel)是對 MVC(Model-View-Control)和 MVP(Model-View-Presenter)的進一步改進。

『View』:視圖層(UI 用戶界面)
『ViewModel』:業務邏輯層(一切 js 可視爲業務邏輯)
『Model』:數據層(存儲數據及對數據的處理如增刪改查)

  • MVVM 將數據雙向綁定(data-binding)作爲核心思想,View 和 Model 之間沒有聯繫,它們通過 ViewModel 這個橋樑進行交互。

  • Model 和 ViewModel 之間的交互是雙向的,因此 View 的變化會自動同步到 Model,而 Model 的變化也會立即反映到 View 上顯示。

  • 當用戶操作 View,ViewModel 感知到變化,然後通知 Model 發生相應改變;反之當 Model 發生改變,ViewModel 也能感知到變化,使 View 作出相應更新。


4. Vue 的開發模式

  • 通過 script 標籤直接引入 vue.js
  • 通過 Vue 的腳手架工具 vue-cli 來進行一鍵項目搭建

5. Vue.js 的優點

  • 簡單輕巧,功能強大,擁有非常容易上手的 API;
  • 可組件化 和 響應式設計;
  • 實現數據與結構分離,高性能,易於瀏覽器的加載速度;
  • MVVM 模式,數據雙向綁定,減少了 DOM 操作,將更多精力放在數據和業務邏輯上。

二、問答

1. 簡述 MVVM

  • MVVM 是 Model-View-ViewModel 的縮寫。MVVM 是一種設計思想。Model 層代表數據模型,也可以在 Model 中定義數據修改和操作的業務邏輯;View 代表 UI 組件,它負責將數據模型轉化成 UI 展現出來,ViewModel 是一個同步 View 和 Model 的對象。
  • 在 MVVM 架構下,View 和 Model 之間並沒有直接的聯繫,而是通過 ViewModel 進行交互,Model 和 ViewModel 之間的交互是雙向的, 因此 View 數據的變化會同步到 Model 中,而 Model 數據的變化也會立即反應到 View 上。
  • ViewModel 通過雙向數據綁定把 View 層和 Model 層連接了起來,而View 和 Model 之間的同步工作完全是自動的,無需人爲干涉,因此開發者只需關注業務邏輯,不需要手動操作DOM, 不需要關注數據狀態的同步問題,複雜的數據狀態維護完全由 MVVM 來統一管理。

2. 簡述 Vue.js 的優點

  • 低耦合。視圖(View)可以獨立於 Model 變化和修改,一個 ViewModel 可以綁定到不同的 "View" 上,當 View 變化的時候 Model 可以不變,當 Model 變化的時候 View 也可以不變。
  • 可重用性。你可以把一些視圖邏輯放在一個 ViewModel 裏面,讓很多 View 重用這段視圖邏輯。
  • 獨立開發。開發人員可以專注於業務邏輯和數據的開發(ViewModel),設計人員可以專注於頁面設計。
  • 方便測試。界面素來是比較難於測試的,開發中大部分 Bug 來至於邏輯處理,由於 ViewModel 分離了許多邏輯,可以對 ViewModel 構造單元測試。
  • 易用 靈活 高效。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章