這篇“VUE實(shí)例參數(shù)與MVVM模式知識(shí)點(diǎn)有哪些”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來(lái)看看這篇“VUE實(shí)例參數(shù)與MVVM模式知識(shí)點(diǎn)有哪些”文章吧。
成都創(chuàng)新互聯(lián)是一家專(zhuān)注于做網(wǎng)站、成都網(wǎng)站建設(shè)與策劃設(shè)計(jì),麻栗坡網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專(zhuān)注于網(wǎng)站建設(shè)10多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專(zhuān)業(yè)建站公司;建站業(yè)務(wù)涵蓋:麻栗坡等地區(qū)。麻栗坡做網(wǎng)站價(jià)格咨詢(xún):18980820575
實(shí)例化一個(gè)Vue對(duì)象,參數(shù)是一個(gè)選項(xiàng)對(duì)象,下面將會(huì)對(duì)其中包含的選項(xiàng)做些簡(jiǎn)單的說(shuō)明。
new Vue({ options})
在Vue實(shí)例中可以通過(guò)this.$options
查看實(shí)例的配置項(xiàng)
選項(xiàng) | 說(shuō)明 |
---|---|
data | 聲明需要響應(yīng)式綁定的數(shù)據(jù)對(duì)象 |
props | 接收來(lái)自父組件的數(shù)據(jù) |
propsData | 創(chuàng)建實(shí)例時(shí)手動(dòng)傳遞props,方便測(cè)試props |
computed | 用于聲明計(jì)算屬性 |
methods | 用于定義Vue實(shí)例的方法 |
watch | 偵聽(tīng)屬性,監(jiān)控 Vue 實(shí)例上的數(shù)據(jù)變動(dòng),并調(diào)用其回調(diào)函數(shù) |
選項(xiàng) | 說(shuō)明 |
---|---|
el | 聲明Vue根組件的掛載點(diǎn)(根組件特有) |
template | 用于掛載元素的字符串模板 |
render | 渲染函數(shù),用于創(chuàng)建虛擬DOM,是字符串模板的替代方案 |
renderError | 僅用于開(kāi)發(fā)環(huán)境,在render()出現(xiàn)錯(cuò)誤時(shí),提供另外的渲染輸出 |
選項(xiàng) | 說(shuō)明 |
---|---|
beforeCreate | 發(fā)生在Vue實(shí)例初始化之后,data observer和event/watcher事件被配置之前 |
created | 發(fā)生在Vue實(shí)例初始化以及data observer和event/watcher事件被配置之后 |
beforeMount | 掛載開(kāi)始之前被調(diào)用,此時(shí)render()首次被調(diào)用 |
mounted | el被新建的vm.$el替換,并掛載到實(shí)例上之后調(diào)用 |
beforeUpdate | 數(shù)據(jù)更新時(shí)調(diào)用,發(fā)生在虛擬DOM重新渲染和打補(bǔ)丁之前 |
updated | 數(shù)據(jù)更改導(dǎo)致虛擬DOM重新渲染和打補(bǔ)丁之后被調(diào)用 |
activated | keep-alive組件激活時(shí)調(diào)用 |
deactivated | keep-alive組件停用時(shí)調(diào)用 |
beforeDestroy | 實(shí)例銷(xiāo)毀之前調(diào)用,Vue實(shí)例依然可用 |
destroyed | Vue實(shí)例銷(xiāo)毀后調(diào)用,事件監(jiān)聽(tīng)和子實(shí)例全部被移除,釋放系統(tǒng)資源 |
選項(xiàng) | 說(shuō)明 |
---|---|
directives | 配置局部注冊(cè)的自定義指令 |
filters | 過(guò)濾器,針對(duì)一些數(shù)據(jù)進(jìn)行篩選、過(guò)濾、格式化等相關(guān)的處理,過(guò)濾器是一個(gè)帶有參數(shù)和返回值的方法 ,只能用在{{}}和v-bind里面。 |
components | 配置局部注冊(cè)組件 |
選項(xiàng) | 說(shuō)明 |
---|---|
parent | 指定當(dāng)前實(shí)例的父實(shí)例,子實(shí)例用this.$parent訪問(wèn)父實(shí)例,父實(shí)例通過(guò)$children數(shù)組訪問(wèn)子實(shí)例 |
mixins | 將屬性混入Vue實(shí)例對(duì)象,并在Vue自身實(shí)例對(duì)象的屬性被調(diào)用之前得到執(zhí)行(組件的多繼承) |
extends | 用于聲明繼承另一個(gè)組件,從而無(wú)需使用Vue.extend,便于擴(kuò)展單文件組件(組件的單繼承) |
provide&inject | 2個(gè)屬性需要一起使用,用來(lái)向所有子組件注入依賴(lài) |
選項(xiàng) | 說(shuō)明 |
---|---|
name | 允許組件遞歸調(diào)用自身,便于調(diào)試時(shí)顯示更加友好的警告信息 |
delimiters | 改變模板字符串的風(fēng)格,默認(rèn)為{{}} |
functional | 讓組件無(wú)狀態(tài)(沒(méi)有data)和無(wú)實(shí)例(沒(méi)有this上下文) |
model | 允許自定義組件使用v-model時(shí)定制prop和event |
inheritAttrs | 默認(rèn)情況下,父作用域的非props屬性綁定會(huì)應(yīng)用在子組件的根元素上。當(dāng)編寫(xiě)嵌套有其它組件或元素的組件時(shí),可以將該屬性設(shè)置為false關(guān)閉這些默認(rèn)行為 |
comments | 設(shè)為true時(shí)會(huì)保留并且渲染模板中的HTML注釋 |
Model、View、Controller,分別表示數(shù)據(jù)、視圖、控制器。其實(shí)這只是一種設(shè)計(jì)思想,
Model:數(shù)據(jù)模型,用來(lái)存儲(chǔ)數(shù)據(jù)
View:視圖界面,用來(lái)展示UI界面和響應(yīng)用戶交互
Controller:控制器(大管家角色),監(jiān)聽(tīng)模型數(shù)據(jù)的改變和控制視圖行為、處理用戶交互
M(model):代表的是數(shù)據(jù)
V(view):代表的是視圖(頁(yè)面)
VM(viewmodel):代表的是視圖模型,作用:用來(lái)管理視圖和模型的轉(zhuǎn)換
MVVM是MVC的增強(qiáng)版,實(shí)質(zhì)上和MVC沒(méi)有本質(zhì)區(qū)別,只是代碼的位置變動(dòng)而已
簡(jiǎn)單來(lái)說(shuō)就是視圖發(fā)生改變時(shí)模型也會(huì)發(fā)生改變,模型發(fā)生改變時(shí)視圖也會(huì)發(fā)生改變,這就是vue的數(shù)據(jù)雙向綁定
關(guān)鍵點(diǎn)在于 data 如何更新 view,因?yàn)?view 更新 data 其實(shí)可以通過(guò)事件監(jiān)聽(tīng)即可,比如 input 標(biāo)簽監(jiān)聽(tīng) input 事件就可以實(shí)現(xiàn)了
雙向綁定步驟:
實(shí)現(xiàn)一個(gè)監(jiān)聽(tīng)器 Observer,用來(lái)劫持并監(jiān)聽(tīng)所有屬性,如果有變動(dòng)的,就通知訂閱者。
實(shí)現(xiàn)一個(gè)訂閱者 Watcher,可以收到屬性的變化通知并執(zhí)行相應(yīng)的函數(shù),從而更新視圖。
實(shí)現(xiàn)一個(gè)解析器 Compile,可以掃描和解析每個(gè)節(jié)點(diǎn)的相關(guān)指令,并根據(jù)初始化模板數(shù)據(jù)以及初始化相應(yīng)的訂閱器。
vue的雙向綁定原理:
vue數(shù)據(jù)的雙向綁定是通過(guò)數(shù)據(jù)劫持結(jié)合發(fā)布者-訂閱者模式的方式來(lái)實(shí)現(xiàn)的。其核心就是通過(guò)Object.defineProperty()方法設(shè)置set和get函數(shù)來(lái)實(shí)現(xiàn)數(shù)據(jù)的劫持,在數(shù)據(jù)變化時(shí)發(fā)布消息給訂閱者,觸發(fā)相應(yīng)的監(jiān)聽(tīng)回調(diào)。也就是說(shuō)數(shù)據(jù)和視圖同步,數(shù)據(jù)發(fā)生變化,視圖跟著變化,視圖變化,數(shù)據(jù)也隨之發(fā)生改變;
以上就是關(guān)于“VUE實(shí)例參數(shù)與MVVM模式知識(shí)點(diǎn)有哪些”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。