站長資訊網
最全最豐富的資訊網站

看看這3道必問面試題,檢驗你的Vue掌握程度!

本篇文章給大家整理分享3道Vue必問面試題,檢驗一下大家對Vue的掌握程度,看看你是否都能答對!

看看這3道必問面試題,檢驗你的Vue掌握程度!

問題1: v-show 與 v-if 有什么區別?

此題屬于考察面試者的Vue基礎情況,一般只要用過Vue肯定會用到v-show 與 v-if。(學習視頻分享:vue視頻教程)

v-if 指令用于條件性地渲染一塊內容,而v-show也用于條件性展示元素。

使用v-show的元素會被渲染并保留在 DOM 中,并使用CSS的display來控制元素的顯示和隱藏。v-show 不支持 <template> 元素,也不支持 v-else

使用v-if 是“真正”的條件渲染,元素的事件監聽器和子組件都會被銷毀和重建。v-if 也是惰性的,如果初始條件為false,則并不會渲染,直到變為true才會觸發第一次渲染。而v-show不管條件是什么都會渲染,并根據display屬性來控制顯示隱藏。

一般來說,v-if的切換開銷更大,而v-show只有初始渲染開銷,如果元素需要頻繁地切換,使用v-show,如果條件很少改變,則使用v-if更好。

問題2:v-model 的原理?

v-model指令主要用來在<input><select><textarea>表單元素或者組件上來實現數據的雙向綁定。他并沒有多神奇,只是監聽了用戶的輸入事件來對數據進行更新。

v-model會根據不同的元素來觸發不同的事件:

  • text 和 textarea 元素使用input 事件;
  • checkbox / radio 和 select使用change 事件;

拿input表單舉例:

<input v-model='something'>  <!-- 等價于 -->  <input v-bind:value="something" v-on:input="something = $event.target.value">

如果在自定義組件中:

<!-- 父組件: --> <ModelChild v-model="message"></ModelChild>  <!-- 子組件: --> <template>   <div>{{value}}</div> </template>  <script>   export default {     props:{       value: String     },     methods: {       test1(){          this.$emit('input', '小紅')       },     },   } </script>

在父組件中,修改message的值,子組件內的props的value字段就會自動更改,在子組件內觸發input事件,那么父組件中的message值也會被更改。

問題3:Vue 組件間通信有哪幾種方式?

這道題也是面試非常常考的一道題,能答出的方式越多,說明對Vue掌握的越熟練。一般組件間的通信大致分為3種:父子組件通信、爺孫組件通信、兄弟組件通信,下面我們分別來看:

  • props / $emit 適合父子組件間通信

    • 這也是Vue最基礎的數據通信方式,如果這都不知道,那就沒法往后聊了。
  • ref$parent / $children 適合父子組件間通信

    • ref如果用在組件上,可以拿到組件的實例對象,進行操作數據
    • $parent / $children:也可以訪問父/子實例對象,進行數據操作
  • EventBus ($emit / $on) 適合父子、爺孫、兄弟組件通信

    • 這種方法是通過場景一個空的Vue實例來作為事件中心,用它來觸發事件和監聽事件,從而實現任何組件間的通信。
    • 使用EventBus這種方式有很多弊端,不建議大家在項目中去使用,知道這種實現思路就可以。
  • $attrs/$listeners 適合爺孫組件通信

    • $attrs:包含父作用域中不作為組件props和自定義事件的屬性綁定和事件,并且可以通過 v-bind="$attrs" 傳入內部組件。
    • $listeners:包含父作用域中的 (不含 .native 修飾器的) v-on 事件監聽器。它可以通過 v-on="$listeners" 傳入內部組件。注意:在 Vue 3 中已被移除。事件監聽器現在是 $attrs 的一部分
  • provide / inject 適合爺孫組件通信

    • 在爺爺組件上通過 provide 來提供變量,然后在孫子組件中通過 inject 來注入變量。
  • Vuex 適合 父子、爺孫、兄弟組件通信

    • Vuex是專門用來解決Vue應用程序中的狀態管理問題。

(學習視頻分享:web前端開發、編程基礎視頻)

贊(0)
分享到: 更多 (0)
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
日韩中文字幕精品免费一区| 国产精品igao视频网| 亚洲av无码精品网站| 无码8090精品久久一区| 揄拍自拍日韩精品| 国产日韩视频在线| 亚洲精品熟女国产| 欧洲精品视频在线观看| 亚洲日韩中文字幕日韩在线| 青青草原精品99久久精品66| 亚洲日韩精品国产一区二区三区| 久久久久久久精品妇女99| 久久精品岛国av一区二区无码| 亚洲欧美日韩自偷自拍| 国产三级精品在线观看| 97精品在线观看| 国产成人1024精品免费| 69p69国产精品| 久久久久久一品道精品免费看| 日韩精品无码永久免费网站| 日韩电影在线播放| 精品国产污污免费网站aⅴ| 国产精品无码专区在线观看| 日本精品在线观看视频| 亚洲国产成人精品不卡青青草原| 日韩视频在线免费| 亚洲精品无码一区二区| 免费视频精品一区二区三区 | 久久久久久青草大香综合精品| 在线观看亚洲精品专区| 久久久国产精品va麻豆| 久久精品无码精品免费专区| 久久综合精品不卡一区二区| 久久综合精品不卡一区二区| 久久se精品一区二区国产| 午夜精品久久久久久久| 日韩精品人妻系列无码专区 | 精品亚洲成A人无码成A在线观看| 亚洲伊人久久精品| 久久最新精品国产| 亚洲AV无码久久精品色欲|