數(shù)據(jù)代理(MVVM.js)
1.通過一個對象代理對另一個對象中屬性的操作(讀/寫)
2.通過vm對象來代理data對象中所有屬性操作
3.好處:更方便的操作data中的數(shù)據(jù)
4.基本實現(xiàn)流程
1>通過Object.defineProperty()給vm添加與data對象的屬性對應(yīng)得屬性描述符
2>所有添加的屬性都包含getter/setter
3>在getter/setter內(nèi)部去操作data中對應(yīng)的屬性數(shù)據(jù)
模板解析(compile.js)用來初始化顯示
1.模板解析的關(guān)鍵對象:compile.js
2.模板解析的基本流程
1>將el的所有子節(jié)點取出,添加到一個新建的文檔fragment中
2>對fragment中的所有層次子節(jié)點遞歸進行編譯解析處理
對插值語法文本進行解析
對元素節(jié)點的指令屬性進行解析
事件指令解析
一般指令解析
3>將解析后的fragment添加到el中顯示
3.解析大括號表達式文本節(jié)點 {{name}} textnode textContent = value
1>根據(jù)正則對象得到匹配出的表達式字符串:子匹配/RegExp.$1
2>從data中取出表達式對應(yīng)的屬性值
4.事件指令解析
1>從指令名中取出事件名
2>根據(jù)指令的值從methods中得到對應(yīng)的事件處理函數(shù)對象
3>給當(dāng)前元素節(jié)點綁定指定事件名和回調(diào)函數(shù)的事件監(jiān)聽
4>指令解析完后,移除此指令屬性
5.一般指令解析
1>得到指令名指令值
2>從data中根據(jù)表達式得到對應(yīng)的值
3>根據(jù)指令名確定需要操作元素節(jié)點的什么屬性
v-text textContent屬性
v-html innerHtml屬性
v-class className屬性
4>將得到的表達式的值設(shè)置到對應(yīng)的屬性上
5>移除元素的指令屬性
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
當(dāng)前標題:Vue核心原理知識點-創(chuàng)新互聯(lián)
路徑分享:http://jinyejixie.com/article20/peeco.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計、全網(wǎng)營銷推廣、自適應(yīng)網(wǎng)站、虛擬主機、ChatGPT、定制開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容