Vue面試考點(diǎn)準(zhǔn)備01

1.首先遥赚,請(qǐng)談一下對(duì)Vue的理解唯绍?

我們都知道Vue是如今比較流行的一個(gè)用于創(chuàng)建用戶(hù)界面的開(kāi)源JavaScript漸進(jìn)式框架,也是一個(gè)創(chuàng)建單頁(yè)應(yīng)用的Web應(yīng)用框架溶锭。它有如下特點(diǎn):

1)數(shù)據(jù)驅(qū)動(dòng):Vue是一個(gè)輕量級(jí)的框架优妙,它只關(guān)注視圖層乘综,通過(guò)MVVM思想實(shí)現(xiàn)數(shù)據(jù)的雙向綁定,數(shù)據(jù)驅(qū)動(dòng)頁(yè)面視圖套硼。所以開(kāi)發(fā)者不用再操作dom對(duì)象卡辰,只需去思考業(yè)務(wù)邏輯。

2)組件化:Vue把一個(gè)單頁(yè)面應(yīng)用的各種模塊拆分成了一個(gè)個(gè)單獨(dú)的組件邪意。我們只需對(duì)于各個(gè)組件進(jìn)行實(shí)際的實(shí)現(xiàn)九妈,如果需要使用它,我們就使用標(biāo)簽進(jìn)行引用抄罕。這樣可以降低整個(gè)系統(tǒng)的耦合度允蚣,方便調(diào)試以及提高可維護(hù)性。

3)單頁(yè)Web應(yīng)用(single page application呆贿,SPA):只有一個(gè)Web頁(yè)面的應(yīng)用嚷兔,就是所有必要的代碼(HTML、JavaScript和CSS)都通過(guò)單個(gè)頁(yè)面的加載而檢索做入,或者根據(jù)需要(通常是為響應(yīng)用戶(hù)操作)動(dòng)態(tài)裝載適當(dāng)?shù)馁Y源并添加到頁(yè)面冒晰。并在用戶(hù)與應(yīng)用程序交互時(shí)動(dòng)態(tài)更新該頁(yè)面的Web應(yīng)用程序。

補(bǔ)充:

a. 單頁(yè)面應(yīng)用程序:只有第一次會(huì)加載頁(yè)面, 以后的每次請(qǐng)求竟块, 僅僅是獲取必要的數(shù)據(jù)壶运。然后, 由頁(yè)面中js解析獲取的數(shù)據(jù), 展示在頁(yè)面中。

b. 多頁(yè)面應(yīng)用程序:對(duì)于傳統(tǒng)的多頁(yè)面應(yīng)用程序來(lái)說(shuō)浪秘,每次請(qǐng)求服務(wù)器返回的都是一個(gè)完整的頁(yè)面蒋情,即需要重新加載html、css耸携、js文件棵癣。

2.上面說(shuō)Vue是一款漸進(jìn)式框架,談一下對(duì)漸進(jìn)式框架的理解夺衍?

首先漸進(jìn)式是Vue的設(shè)計(jì)理念狈谊。Vue.js

最突出的優(yōu)勢(shì)在于可以對(duì)數(shù)據(jù)進(jìn)行雙向綁定,也就是聲明式渲染。如上圖所示河劝,Vue還有組件系統(tǒng)壁榕、客戶(hù)端路由、大規(guī)模狀態(tài)管理赎瞎、構(gòu)建工具等完整的功能牌里,他們之間都是相互獨(dú)立的,我們可以在核心功能上選用其他部件煎娇。我們可以理解為只要自己想要部分二庵,只做自己想做的事。

3. 解釋一下MVVM(數(shù)據(jù)驅(qū)動(dòng))

MVVM 是 Model-View-ViewModel 的縮寫(xiě)缓呛。Model代表模型層,負(fù)責(zé)處理業(yè)務(wù)邏輯以及和服務(wù)器端進(jìn)行交互杭隙;

View代表視圖層哟绊,它負(fù)責(zé)將數(shù)據(jù)模型轉(zhuǎn)化成UI 展現(xiàn)出來(lái)

ViewModel代表視圖模型層痰憎,用來(lái)連接Model和View票髓,是Model和View之間的通信橋梁,監(jiān)聽(tīng)模型數(shù)據(jù)的改變和控制視圖行為铣耘、處理用戶(hù)交互洽沟,簡(jiǎn)單理解就是一個(gè)同步View 和 Model的對(duì)象,連接Model和View蜗细。DOMListeners和DataBindings是實(shí)現(xiàn)雙向綁定的關(guān)鍵裆操。DOMListeners監(jiān)聽(tīng)頁(yè)面所有View層DOM元素的變化,當(dāng)發(fā)生變化炉媒,Model層的數(shù)據(jù)隨之變化踪区;DataBindings監(jiān)聽(tīng)Model層的數(shù)據(jù),當(dāng)數(shù)據(jù)發(fā)生變化吊骤,View層的DOM元素隨之變化缎岗。如下圖:

4. 雙向綁定的原理

Vue數(shù)據(jù)雙向綁定是通過(guò)數(shù)據(jù)劫持結(jié)合發(fā)布者-訂閱者模式的方式來(lái)實(shí)現(xiàn)的。雙向數(shù)據(jù)綁定都是基于Object.defineProperty()重新定義get和set方法實(shí)現(xiàn)的白粉。修改觸發(fā)set方法賦值传泊,獲取觸發(fā)get方法取值,并通過(guò)數(shù)據(jù)劫持發(fā)布信息鸭巴。示例:

1)new Vue()首先執(zhí)行初始化眷细,對(duì)data執(zhí)行響應(yīng)化處理,這個(gè)過(guò)程發(fā)生Observe中

2)同時(shí)對(duì)模板執(zhí)行編譯奕扣,找到其中動(dòng)態(tài)綁定的數(shù)據(jù)薪鹦,從data中獲取并初始化視圖,這個(gè)過(guò)程發(fā)生在Compile中

3)同時(shí)定義?個(gè)更新函數(shù)和Watcher,將來(lái)對(duì)應(yīng)數(shù)據(jù)變化時(shí)Watcher會(huì)調(diào)用更新函數(shù)

4)由于data的某個(gè)key在?個(gè)視圖中可能出現(xiàn)多次池磁,所以每個(gè)key都需要?個(gè)管家Dep來(lái)管理多個(gè)Watcher

5)將來(lái)data中數(shù)據(jù)?旦發(fā)生變化奔害,會(huì)首先找到對(duì)應(yīng)的Dep颤诀,通知所有Watcher執(zhí)行更新函數(shù)折剃。

5. Vue組件之間的通信有哪些?

a. 父?jìng)髯?props饥追;b. 子傳父 $emit端考;c. Vuex 狀態(tài)管理器(詳情見(jiàn)此文)

6. 對(duì)Vue指令的理解

vue一共為我們提供了14種內(nèi)置指令:v-text? v-html? v-show? v-ifv-elsev-else-ifv-forv-on? v-bind? v-model? v-slot? v-pre? v-cloak? v-once雅潭。它們作用于HTML元素,指令提供了一些特殊的特性却特,將指令綁定在元素上時(shí)扶供,指令會(huì)為綁定的目標(biāo)元素添加一些特殊的行為,我們可以將指令看作特殊的HTML特性(attribute)裂明。指令的本質(zhì)就是語(yǔ)法糖或者說(shuō)是標(biāo)志位椿浓,目的是為了操作DOM,將操作DOM的邏輯封裝成指令(簡(jiǎn)化代碼量)闽晦,然后交給編譯器扳碍,最后生成js代碼來(lái)渲染我們的頁(yè)面

7.v-show和v-if仙蛉、v-bind 和v-on 指令的區(qū)別

它們都是控制元素的顯示和隱藏笋敞。但是實(shí)現(xiàn)本質(zhì)方法不同,

v-show本質(zhì)就是通過(guò)控制css中的display設(shè)置為none荠瘪,控制隱藏夯巷,只會(huì)編譯一次;不管初始條件是什么巧还,元素總是會(huì)被渲染鞭莽,并且只是簡(jiǎn)單地基于 CSS 進(jìn)行切換。

v-if是“真正”的條件渲染麸祷,因?yàn)樗鼤?huì)確保在切換過(guò)程中條件塊內(nèi)的事件監(jiān)聽(tīng)器和子組件適當(dāng)?shù)乇讳N(xiāo)毀和重建澎怒。v-if是動(dòng)態(tài)的向DOM樹(shù)內(nèi)添加或者刪除DOM元素。v-if也是惰性的:如果在初始渲染時(shí)條件為假阶牍,則什么也不做——直到條件第一次變?yōu)檎鏁r(shí)喷面,才會(huì)開(kāi)始渲染條件塊。

而且v-if不停的銷(xiāo)毀和創(chuàng)建比較消耗性能走孽。如果要頻繁切換某節(jié)點(diǎn)惧辈,使用v-show(切換開(kāi)銷(xiāo)比較小,初始開(kāi)銷(xiāo)較大)磕瓷。如果不需要頻繁切換某節(jié)點(diǎn)使用v-if(初始渲染開(kāi)銷(xiāo)較小盒齿,切換開(kāi)銷(xiāo)比較大)念逞。

v-bind 綁定用來(lái)將html標(biāo)簽中相關(guān)屬性綁定到vue實(shí)例中,日后通過(guò)對(duì)vue實(shí)例中數(shù)據(jù)改變边翁,影響到對(duì)應(yīng)標(biāo)簽中屬性值變化翎承。

v-on 指令用于綁定HTML事件。

8. 簡(jiǎn)述computed和watch的區(qū)別

答:computed:是計(jì)算屬性符匾。為了應(yīng)對(duì)復(fù)雜的邏輯計(jì)算叨咖。有緩存,只有當(dāng)緩存改變時(shí)才執(zhí)行(即只執(zhí)行一遍getter)啊胶。當(dāng)一個(gè)屬性受多個(gè)屬性影響的時(shí)候就需要用到computed甸各。例如:購(gòu)物車(chē)商品總價(jià)結(jié)算。

watch:是偵聽(tīng)屬性焰坪。對(duì)數(shù)據(jù)的變化作出反應(yīng)趣倾,沒(méi)有緩存,從新渲染就會(huì)執(zhí)行某饰。當(dāng)一條數(shù)據(jù)影響多條數(shù)據(jù)的時(shí)候就需要用watch誊酌。例如:搜索數(shù)據(jù)。

9. 簡(jiǎn)述Vue的生命周期露乏。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市涂邀,隨后出現(xiàn)的幾起案子瘟仿,更是在濱河造成了極大的恐慌,老刑警劉巖比勉,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件劳较,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡浩聋,警方通過(guò)查閱死者的電腦和手機(jī)观蜗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)衣洁,“玉大人墓捻,你說(shuō)我怎么就攤上這事》环颍” “怎么了砖第?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)环凿。 經(jīng)常有香客問(wèn)我梧兼,道長(zhǎng),這世上最難降的妖魔是什么智听? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任羽杰,我火速辦了婚禮渡紫,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘考赛。我一直安慰自己惕澎,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布欲虚。 她就那樣靜靜地躺著集灌,像睡著了一般。 火紅的嫁衣襯著肌膚如雪复哆。 梳的紋絲不亂的頭發(fā)上欣喧,一...
    開(kāi)封第一講書(shū)人閱讀 49,772評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音梯找,去河邊找鬼唆阿。 笑死,一個(gè)胖子當(dāng)著我的面吹牛锈锤,可吹牛的內(nèi)容都是我干的驯鳖。 我是一名探鬼主播,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼久免,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼浅辙!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起阎姥,我...
    開(kāi)封第一講書(shū)人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤记舆,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后呼巴,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體泽腮,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年衣赶,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了诊赊。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡府瞄,死狀恐怖碧磅,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情摘能,我是刑警寧澤续崖,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站团搞,受9級(jí)特大地震影響严望,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜逻恐,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一像吻、第九天 我趴在偏房一處隱蔽的房頂上張望峻黍。 院中可真熱鬧,春花似錦拨匆、人聲如沸姆涩。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)骨饿。三九已至,卻和暖如春台腥,著一層夾襖步出監(jiān)牢的瞬間宏赘,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工黎侈, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留察署,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓峻汉,卻偏偏與公主長(zhǎng)得像贴汪,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子休吠,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容