成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

vue常用知識點(diǎn)總結(jié)

xiaokai / 1314人閱讀

摘要:這里借鑒了一下的處理方式,我們把多帶帶模塊的包裝成一個(gè)函數(shù),提供一個(gè)全局的回調(diào)方法,加載完成時(shí)候再調(diào)用回調(diào)函數(shù)。

感謝本文引用鏈接的各位大佬們,小菜鳥我只是個(gè)搬運(yùn)工
1.談一談你理解的vue是什么樣子的?

vue是數(shù)據(jù)、視圖分離的一個(gè)框架,讓數(shù)據(jù)與視圖間不會發(fā)生直接聯(lián)系。MVVM

組件化:把整體拆分為各個(gè)可以復(fù)用的個(gè)體

數(shù)據(jù)驅(qū)動:通過數(shù)據(jù)變化直接影響bom展示,避免dom操作。

可以在原項(xiàng)目的基礎(chǔ)上,一兩個(gè)組件使用vue,也可以使用vue全家桶開發(fā)

全家桶:vue-router,vuex, vue-resource,vue-cli,sass樣式
這篇文章關(guān)于漸進(jìn)式的解釋很好
vue中幾個(gè)必須要知道的點(diǎn)

2.vue生命周期

一張圖總結(jié)vue生命周期

需注意created時(shí)data已綁定,但DOM未生成,$el不存在,mounted時(shí)$el已存在,可以掛載。
這篇文章對vue的生命周期寫的很細(xì)致,而且有代碼可以手動驗(yàn)證每個(gè)階段

3.v-model雙向數(shù)據(jù)綁定

雙向綁定就在單向綁定的基礎(chǔ)上給可輸入元素(input、textare等)添加了change(input)事件,來動態(tài)修改model和 view
實(shí)現(xiàn)流程:

實(shí)現(xiàn)一個(gè)數(shù)據(jù)監(jiān)聽器Observer,能夠?qū)?shù)據(jù)對象的所有屬性進(jìn)行監(jiān)聽,如有變動可拿到最新值并通知訂閱者

實(shí)現(xiàn)一個(gè)指令解析器Compile,對每個(gè)元素節(jié)點(diǎn)的指令進(jìn)行掃描和解析,根據(jù)指令模板替換數(shù)據(jù),以及綁定相應(yīng)的更新函數(shù)

實(shí)現(xiàn)一個(gè)Watcher,作為連接Observer和Compile的橋梁,能夠訂閱并收到每個(gè)屬性變動的通知,執(zhí)行指令綁定的相應(yīng)回調(diào)函數(shù),從而更新視圖

mvvm入口函數(shù),整合以上三者

點(diǎn)我查看大佬文章1
點(diǎn)我查看大佬文章2

4.虛擬DOM和聲明式渲染

為什么要減少DOM操作,DOM操作的時(shí)間耗在了哪里?

渲染引擎工作:

解析HTML代碼,生產(chǎn)DOM tree

解析CSS樣式,結(jié)合DOM tree生產(chǎn)Render tree(display: none;的結(jié)點(diǎn)不會存在Rendertree上,最后不會被paint)

計(jì)算Render tree各個(gè)節(jié)點(diǎn)的布局信息,比如box的位置、尺寸、顏色、外形等

根據(jù)計(jì)算后的布局信息,調(diào)用瀏覽器的UI引擎進(jìn)行渲染。

而操作dom會產(chǎn)生幾種動作,極大的影響渲染的效率。其中 layout(布局)和paint(繪制)是最大的。

layout 就是布局變動造成重新計(jì)算(耗CPU,有時(shí)也很耗內(nèi)存)

paint 就是調(diào)用瀏覽器UI引擎進(jìn)行渲染展示頁面(耗CPU和內(nèi)存)

參考這一篇,講的很詳細(xì)

Virtual DOM算法的步驟如下:

用 JavaScript 對象結(jié)構(gòu)表示 DOM 樹的結(jié)構(gòu);

然后用這個(gè)樹構(gòu)建一個(gè)真正的 DOM 樹,插到文檔當(dāng)中當(dāng)狀態(tài)變更的時(shí)候,重新構(gòu)造一棵新的對象樹。

然后用新的樹和舊的樹進(jìn)行比較,記錄兩棵樹差異把2所記錄的差異應(yīng)用到步驟1所構(gòu)建的真正的DOM樹上,視圖就更新了

如何理解虛擬DOM? - 戴嘉華的回答 - 知乎

虛擬DOM先是用js模擬dom,主要是使用el

然后是對比虛擬的dom樹節(jié)點(diǎn)的不同,主要用的是深搜

比較兩棵虛擬樹的差異用的是diff算法,核心是深搜,首先對比DOM樹中每層的差異,并標(biāo)記進(jìn)行差異,然后使用類似動態(tài)規(guī)劃來求出最小編輯距離

聲明式渲染

命令式渲染 : 命令我們的程序去做什么,程序就會跟著你的命令去一步一步執(zhí)行

聲明式渲染 : 我們只需要告訴程序我們想要什么效果,其他的交給程序來做。

這篇文章里不僅有聲明式渲染,還介紹了vue中基本內(nèi)容

5.路由用原生js如何實(shí)現(xiàn)

前端中的路由有兩種實(shí)現(xiàn)方式,一種html5的,另一種就是vue的hashhash路由,就是常見的 # 號,這種方式兼容性更好。

切換頁面:路由的最大作用就是切換頁面,以往后臺的路由是直接改變了頁面的url方式促使頁面刷新。但是前端路由通過 #號不能刷新頁面,只能通過 window 的監(jiān)聽事件 hashchange 來監(jiān)聽hash的變化,然后捕獲到具體的hash值進(jìn)行操作,手動下載js

注冊路由:我們需要把路由規(guī)則注冊到頁面,這樣頁面在切換的時(shí)候才會有不同的效果。

異步加載js:一般單頁面應(yīng)用為了性能優(yōu)化,都會把各個(gè)頁面的文件拆分開,按需加載,所以路由里面要加入異步加載js文件的功能。異步加載我們就采用最簡單的原生方法,創(chuàng)建script標(biāo)簽,動態(tài)引入js。

參數(shù)傳遞:在我們動態(tài)引入多帶帶模塊的js之后,我們可能需要給這個(gè)模塊傳遞一些多帶帶的參數(shù)。這里借鑒了一下jsonp的處理方式,我們把多帶帶模塊的js包裝成一個(gè)函數(shù),提供一個(gè)全局的回調(diào)方法,加載完成時(shí)候再調(diào)用回調(diào)函數(shù)。

流程:

來自這篇文章,講的很細(xì)致
這個(gè)也作為參考,代碼簡單一些,但和上一篇略有不同

6.vue中組件通信

挺好理解的,就是創(chuàng)建一個(gè)中央事件總線做為通信橋梁,需要傳值的組件中用bus.$emit觸發(fā)一個(gè)自定義事件,并傳遞參數(shù),在需要接收數(shù)據(jù)的組件中用bus.$on監(jiān)聽自定義事件,并在回調(diào)函數(shù)中處理傳遞過來的參數(shù)
平級組件通信
父子組件通信

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/94918.html

相關(guān)文章

  • Java學(xué)習(xí)路線總結(jié),搬磚工逆襲Java架構(gòu)師(全網(wǎng)最強(qiáng))

    摘要:哪吒社區(qū)技能樹打卡打卡貼函數(shù)式接口簡介領(lǐng)域優(yōu)質(zhì)創(chuàng)作者哪吒公眾號作者架構(gòu)師奮斗者掃描主頁左側(cè)二維碼,加入群聊,一起學(xué)習(xí)一起進(jìn)步歡迎點(diǎn)贊收藏留言前情提要無意間聽到領(lǐng)導(dǎo)們的談話,現(xiàn)在公司的現(xiàn)狀是碼農(nóng)太多,但能獨(dú)立帶隊(duì)的人太少,簡而言之,不缺干 ? 哪吒社區(qū)Java技能樹打卡?【打卡貼 day2...

    Scorpion 評論0 收藏0
  • 前端最實(shí)用書簽(持續(xù)更新)

    摘要:前言一直混跡社區(qū)突然發(fā)現(xiàn)自己收藏了不少好文但是管理起來有點(diǎn)混亂所以將前端主流技術(shù)做了一個(gè)書簽整理不求最多最全但求最實(shí)用。 前言 一直混跡社區(qū),突然發(fā)現(xiàn)自己收藏了不少好文但是管理起來有點(diǎn)混亂; 所以將前端主流技術(shù)做了一個(gè)書簽整理,不求最多最全,但求最實(shí)用。 書簽源碼 書簽導(dǎo)入瀏覽器效果截圖showImg(https://segmentfault.com/img/bVbg41b?w=107...

    sshe 評論0 收藏0
  • 個(gè)人分享--web前端學(xué)習(xí)資源分享

    摘要:前言月份開始出沒社區(qū),現(xiàn)在差不多月了,按照工作的說法,就是差不多過了三個(gè)月的試用期,準(zhǔn)備轉(zhuǎn)正了一般來說,差不多到了轉(zhuǎn)正的時(shí)候,會進(jìn)行總結(jié)或者分享會議那么今天我就把看過的一些學(xué)習(xí)資源主要是博客,博文推薦分享給大家。 1.前言 6月份開始出沒社區(qū),現(xiàn)在差不多9月了,按照工作的說法,就是差不多過了三個(gè)月的試用期,準(zhǔn)備轉(zhuǎn)正了!一般來說,差不多到了轉(zhuǎn)正的時(shí)候,會進(jìn)行總結(jié)或者分享會議!那么今天我就...

    sherlock221 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<