vue官方文件
為什麼要使用mvvm
mvvm模式和mvc模式一樣,主要目的是分離檢視(view)和模型(model),有幾大好處
view
view是檢視層,也就是使用者介面。前端主要由html和css來構建,為了更方便地展現viewmode」或者model層的資料,已經產生了各種各樣的前後端模板語言,比如freemarker,thymeleaf等等,各大 mvvm框架如vue.js,angularjs,ejs等也都有自己用來構建使用者介面的內建模板語言。
model
model是指資料模型,泛指後端進行的各種業務邏輯處理和資料操控,主要圍繞資料庫系統展開。這裡的難點主要在於需要和前端約定統一的接門規叫 介面規則
viewmodel
viewmodel是由前端開發人員組織生成和維護的檢視資料層。在這一層,前端開發者對從後端獲取的 model資料進行轉換處理,做二次封裝,以生成符合view層使用預期的檢視資料模型。
需要注意的是viewmodel 所封裝出來的資料模型包括檢視的狀態和行為兩部分,而model 層的資料模型是只包含狀態的
檢視狀態和行為都封裝在了viewmodel裡。這樣的封裝使得viewmodel可以完整地去描述view 層`。由於實現了雙向繫結,viewmodel的內容會實時展現在view層,這是激動人心的,因為前端開發者再也不必低效又麻煩地通過操縱dom去更新檢視。
mvvm框架已經把最髒最累的一塊做好了,我們開發者只需要處理和維護viewmodel,更新資料檢視就會自動得到相應更新,真正實現事件驅動程式設計。
view層展現的不是 model層的資料,而是 viewnodel的資料,由 viewnodel負責與 nodel層互動,這就完全解耦了view層和model層,這個解耦是至關重要的,它是前後端分離方案實施的重要一環。
vuevue (讀音/vju/,類似於view)是一套用於構建使用者介面的漸進式框架,發布於2023年2月。與其它大型框架不同的是,vue被設計為可以自底向上逐層應用。vue的核心庫只關注檢視層,不僅易於上手,還便於與第三方庫(如: vue-router,vue-resource,vuex)或既有專案整合。
mvvm模式的實現者
至此,我們就明白了,vue.js 就是乙個mvvm的實現者,他的核心就是實現了dom監聽與資料繫結
為什麼要使用vue.js
第乙個vue程式
【說明】idea可以安裝vue的外掛程式!
注意: vue不支援ie8及以下版本,因為vue使用了ie8無法模擬的ecmascript5特性。但它支援所有相容ecmascript 5的瀏覽器。
**編寫
vue.js 的核心是實現了mvm模式,她扮演的角色就是viewmodel層,那麼所謂的第乙個應用程式就是展示她的資料繫結功能,操作流程如下:
1.建立乙個html檔案
lang
="en"
>
>
charset
="utf-8"
>
>
titletitle
>
head
>
>
>
}div>
src=
"">
script
>
>
var vm =
newvue(}
)script
>
body
>
html
>
v-bind
我們已經成功建立了第乙個vue應用! 看起來這跟渲染乙個字串模板非常類似,但是vue在背後做了大量工作。現在資料和dom已經被建立了關聯,所有東西都是響應式的。我們在控制台操作物件屬性,介面可以實時更新!
我們還可以使用v-bind來繫結元素特性!
上**
v-if,v-else
什麼是條件判斷語句,就不需要說明了
v-for
上**
v-on
v-on監聽事件
事件有vue的事件、和前端頁面本身的一些事件!我們這裡的click 是vue的事件,可以繫結到vue中的 methods中的方法事件!
上**:
前往vue學習筆記3-表單雙綁、元件 前端MVVM模式及其在Vue和React中的體現
1 m odel 層 模型,定義資料結構。2 c ontroller 層 實現業務邏輯,資料的增刪改查。在mvvm模式中一般把c層算在m層中,只有在理想的雙向繫結模式下,controller 才會完全的消失。這種理想狀態一般不存在 3 viewmodel層 顧名思義是檢視view的模型 對映和顯示邏...
前端MVVM模式及其在Vue和React中的體現
1 m odel 層 模型,定義資料結構。2 c ontroller 層 實現業務邏輯,資料的增刪改查。在mvvm模式中一般把c層算在m層中,只有在理想的雙向繫結模式下,controller 才會完全的消失。這種理想狀態一般不存在 3 viewmodel層 顧名思義是檢視view的模型 對映和顯示邏...
前端MVVM模式及其在Vue和React中的體現
1 m odel 層 模型,定義資料結構。2 c ontroller 層 實現業務邏輯,資料的增刪改查。在mvvm模式中一般把c層算在m層中,只有在理想的雙向繫結模式下,controller 才會完全的消失。這種理想狀態一般不存在 3 viewmodel層 顧名思義是檢視view的模型 對映和顯示邏...