Vue 常見的面試題


vue中在進入/離開的過渡中,有那幾個類名?

v-enter:定義進入過渡的開始狀態;v-enter-active:定義進入過渡生效時的狀態;

v-enter-to: 2.1.8版及以上 定義進入過渡的結束狀態;v-leave: 定義離開過渡的開始狀態。

v-leave-active:定義離開過渡生效時的狀態;v-leave-to: 2.1.8版及以上 定義離開過渡的結束狀態

vue在什么場景下可以給任何元素和組件添加進入/離開的過渡效果?

條件渲染 (使用 v-if);

條件展示 (使用 v-show);

動態組件; 組件根節點

列出vue中與列表元素相關的修飾符,並簡要說明其作用?

(1).lazy 在默認情況下,v-model 在每次 input 事件觸發后將輸入框的值與數據進行同步 。使用 lazy 修飾符,從而轉變為使用 change 事件進行同步

(2).number 如果想自動將用戶的輸入值轉為數值類型,可以給 v-model 添加 number 修飾符。

(3).trim 如果要自動過濾用戶輸入的首尾空白字符,可以給 v-model 添加 trim 修飾符。

簡要說明在vue中v-model指令的作用?

v-model指令用來在input、select、text、checkbox、radio等表單控件元素上創建雙向數據綁定的。

根據控件類型v-model自動選取正確的方法更新元素 。

它負責監聽用戶的輸入事件以更新數據。

vue中動態樣式綁定(class)的方式都有哪些?

對象方法:

   :class="{ 'active': isActive }"

   :class="{'active':isActive==-1}"
復制代碼

或者

   :class="{'active':isActive==index}"
復制代碼

綁定並判斷多個

   :class="{ 'active': isActive, 'sort': isSort }"
復制代碼

第二種(放在data里面)


   :class="classObject"

   data() {

       return {

            classObject:{ active: true, sort:false }

       }

   }
復制代碼

數組方法


   :class="[isActive,isSort]"

   data() {

       return{

           isActive:'active',

           isSort:'sort'

       }

   }

   :class="[isActive?'active':'']"

   :class="[isActive==1?'active':'']"
復制代碼

說明vue等單頁面應用及其優缺點?

優點:Vue 的目標是通過盡可能簡單的 API 實現響應的數據綁定和組合 的視圖組件,核心是一個響應的數據綁定系統。MVVM、數據驅動、 組件化、輕量、簡潔、高效、快速、模塊友好。

缺點:不支持低版本的瀏覽器,最低只支持到IE9;

不利於SEO的優化(如果要支持SEO,建議通過服務端來進行渲染組件);

第一次加載首頁耗時相對長一些;不可以使用瀏覽器的導航按鈕需要自行實現前進、后退。
復制代碼

如何讓css只在當前組件中起作用?

在當前組件style標簽中添加 scoped

vuex是什么?怎么使用?哪種功能場景使用它?

是狀態管理,在main.js引入store,注入。只用來讀取的狀態集中放在store中;

改變狀態的方式是提交mutations,這是個同步的事物; 異步邏輯應該封裝在action中。

場景有:單頁應用中,組件之間的狀態、音樂播放、登錄狀態、加入購物車

請列出使用axios時,get和post提交數據的方式?

  1. get可以直接把數據以?加&符號的方式直接拼接到url地址上

  2. axios.get(url,data)、axios({method:'get',url:請求地址,params:{提交的數據}})

  3. axios.post(url,data)、axios({method:'post',url:'請求地址'},data:{提交的數據})

axios是什么?怎么使用?


//請求后台資源的模塊
   //使用npm install axios -s 來安裝
   //在main.js入口文件中引用:import axios from {axios}
   //將axios掛載到vue實例上:vue.prototype.$axios = axios
   //在config文件夾中的index.js中的Dev中填寫
   ProxyTable:{
   ‘/api’:{
   Target:’代理服務器的目標地址’,
   changeOrigin: true,
   PathRewrite: {“^/api”:” ”}
   }
   }
  // 在需要調用后台資源的組件中進行使用this.$axios({
   Url: ‘/api/地址’,
   Method:’post’,//post請求必須設置
   Params:{要傳的參數}//post要將params設置為data
   }).then(res=>{}).catch(err=>{})

作者:頡旺飛
鏈接:https://juejin.cn/post/6901813424796860430
來源:掘金
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM