最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

千鋒教育web前端高頻面試題視頻教程,kerwin大話前端面試秘籍(附答案)

2023-07-16 13:27 作者:我是阿光行了吧  | 我要投稿

單向數(shù)據(jù)流:

對(duì)于 vue 來(lái)說(shuō),組件之間的數(shù)據(jù)傳遞具有單向數(shù)據(jù)流這樣的特性的,稱為單向數(shù)據(jù)流

兩個(gè)數(shù)據(jù)流之間相互獨(dú)立,單向數(shù)據(jù)流指 只能從一個(gè)方向來(lái)修改狀態(tài)

例:父子傳值,父組件給子組件傳遞數(shù)據(jù),子組件想給父組件傳遞數(shù)據(jù)的話,需要通過(guò)綁定事件,讓父組件自己修改值,然后再將修改后的值傳給子組件

雙向數(shù)據(jù)綁定:

模型到視圖,綁定input框的value屬性

視圖到模型:綁定input事件,通過(guò)視圖改變數(shù)據(jù)

Object.defineProperty 的劣勢(shì):

1、無(wú)法監(jiān)聽(tīng)es6的Set、Map變化

2、無(wú)法監(jiān)聽(tīng)class類型的數(shù)據(jù)

3、屬性的新加或者刪除也無(wú)法監(jiān)聽(tīng)

4、數(shù)組元素的增加或刪除也無(wú)法監(jiān)聽(tīng)

MVC:

把業(yè)務(wù)邏輯分離,模塊化程度高,但由于View是強(qiáng)依賴特定的Model的,所以View無(wú)法組件化,無(wú)法復(fù)用

MVP:

View不依賴Model,View可以進(jìn)行組件化,但Model-> View的手動(dòng)同步邏輯 ,麻煩、維護(hù)困難

MVVM:

解決了MVP大量的手動(dòng)View和Model同步的問(wèn)題,提供雙向數(shù)據(jù)機(jī)制,提高了代碼的可維護(hù)性問(wèn)題,對(duì)于大型的圖形應(yīng)用程序,視圖狀態(tài)較多,ViewModel的構(gòu)建和維護(hù)的成本都會(huì)比較高

生命周期:

vue2:

初始階段:beforeCreate、created、beforeMount、mounted

更新階段:beforeUpdate、updated

銷毀階段:beforeDestroy、destroyed

vue3:

初始階段:setup、onBeforeMount、onMounted

更新階段:onBeforeUpdate、onUpdated

銷毀階段:onBeforeUnmount、onUnmounted

常用的鉤子:

發(fā)送請(qǐng)求:create、mounted

銷毀定時(shí)器、清除綁定事件:beforeDestroy

vue的響應(yīng)式原理:

vue的響應(yīng)式主要是利用了Object.defineProperty的方法里面的setter、getter方法的觀察者模式來(lái)實(shí)現(xiàn)。一旦屬性發(fā)生了改變,我們的setter方法通知調(diào)用我們的watcher,watcher的話調(diào)用我們的render函數(shù),render函數(shù)生成我們新的虛擬dom,虛擬dom對(duì)比老的虛擬dom發(fā)現(xiàn)有區(qū)別,通過(guò)最小的代價(jià)更新我們的dom節(jié)點(diǎn),實(shí)現(xiàn)頁(yè)面的更新操作。

Proxy 和 Object.defineProperty 優(yōu)劣對(duì)比:

proxy的優(yōu)勢(shì):

proxy 可以直接監(jiān)聽(tīng)對(duì)象而非屬性,可以直接監(jiān)聽(tīng)數(shù)組的變化

proxy 有多達(dá)13中攔截方法,不限于 apply、ownKeys、deleteProperty、has 等是 Object.defineProperty 不具備的

proxy 返回的是一個(gè)新的對(duì)象,我們可以只操作新的對(duì)象達(dá)到目的,而 Object.defineProperty 只能遍歷對(duì)象屬性直接修改

Object.defineProperty 的優(yōu)勢(shì):

兼容性好,支持IE9,而proxy存在瀏覽器兼容性問(wèn)題,而且無(wú)法使用polyfill來(lái)彌補(bǔ)

兼容性問(wèn)題:如果低版本不支持 proxy 的話,走的還 Object.defineProperty

Composition API :

1、在 Composition API 中根據(jù)邏輯相關(guān)組織代碼,提高可讀性和可維護(hù)性,類似react中的hook

2、更好的重用邏輯,在 option API 中通過(guò)Mixins重用邏輯代碼,容易發(fā)生命名沖突且關(guān)系不清

3、解決在生命周期函數(shù)經(jīng)常包含不相關(guān)的邏輯,但又不得不把相關(guān)的邏輯分離到幾個(gè)不同的方法中的問(wèn)題

例:

在mounted設(shè)置定時(shí)器,但需要在destroyed中來(lái)清除定時(shí)器,將同一功能的代碼拆分到不同的位置,造成后期代碼維護(hù)困難

jQuery 和 vue 的區(qū)別:

jQuery 專注視圖層,通過(guò)直接操作dom去實(shí)現(xiàn)頁(yè)面的一些邏輯渲染

vue 專注于數(shù)據(jù)層,通過(guò)數(shù)據(jù)的雙向綁定,最終表現(xiàn)在dom層,減少dom操作,vue使用組件化思想,提高開(kāi)發(fā)效率,方便重復(fù)利用,便于協(xié)同開(kāi)發(fā)

vue單文件組件定義全局css:

默認(rèn)為全局 css 樣式

獨(dú)享樣式:在style標(biāo)簽加上 scoped 屬性,它是通過(guò)給標(biāo)簽 添加自定義屬性實(shí)現(xiàn),通過(guò)內(nèi)容得到不同的哈希值,是標(biāo)簽唯一

$root、$parent、$refs:

$root、$parent,都能訪問(wèn)父組件的屬性和方法,區(qū)別在于如果存在多級(jí)子組件,通過(guò)parent 訪問(wèn)得到的是他最近一級(jí)的父組件,通過(guò)root訪問(wèn)得到的是根父組件。通過(guò)在子組件標(biāo)簽定義 ref 屬性,在父組件中可以使用$refs訪問(wèn)子組件實(shí)例

ref:

定義模型,獲取dom節(jié)點(diǎn),獲取子組件實(shí)例,關(guān)聯(lián)form表單

vue中的自定義指令:

通過(guò)directive來(lái)自定義指令,自定義指令分為全局抬令和局部指令,自定義指令也有幾個(gè)的鉤子函數(shù),常用的有bind和update,當(dāng) bind 和 update 時(shí)觸發(fā)相同行為,而不關(guān)心其它的鉤子時(shí)可以簡(jiǎn)寫。

Vue.directive('focus', {
 inserted: (el) => {
  el.focus
 }
})
......
<input v-focus />



千鋒教育web前端高頻面試題視頻教程,kerwin大話前端面試秘籍(附答案)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
丰顺县| 青海省| 永靖县| 竹山县| 大石桥市| 滕州市| 晋城| 宜兰县| 久治县| 嘉义市| 三都| 甘泉县| 定西市| 仙桃市| 抚顺市| 遂平县| 正镶白旗| 乌鲁木齐市| 十堰市| 崇阳县| 靖安县| 双柏县| 蓬溪县| 中山市| 于田县| 台前县| 东阿县| 乌兰浩特市| 文成县| 威宁| 巴南区| 双桥区| 金寨县| 太康县| 盱眙县| 资溪县| 仁布县| 开平市| 新野县| 莱阳市| 隆昌县|