1、Vue的生命周期
beforeCreate(創建前) 在數據觀測和初始化事件還未開始
created(創建后) 完成數據觀測,屬性和方法的運算,初始化事件,$el屬性還沒有顯示出來
beforeMount(載入前) 在掛載開始之前被調用,相關的render函數首次被調用。實例已完成以下的配置:編譯模板,把data里面的數據和模板生成html。注意此時還沒有掛載html到頁面上。
mounted(載入后) 在el 被新創建的 vm.$el 替換,並掛載到實例上去之后調用。實例已完成以下的配置:用上面編譯好的html內容替換el屬性指向的DOM對象。完成模板中的html渲染到html頁面中。此過程中進行ajax交互。
beforeUpdate(更新前) 在數據更新之前調用,發生在虛擬DOM重新渲染和打補丁之前。可以在該鈎子中進一步地更改狀態,不會觸發附加的重渲染過程。
updated(更新后) 在由於數據更改導致的虛擬DOM重新渲染和打補丁之后調用。調用時,組件DOM已經更新,所以可以執行依賴於DOM的操作。然而在大多數情況下,應該避免在此期間更改狀態,因為這可能會導致更新無限循環。該鈎子在服務器端渲染期間不被調用。
beforeDestroy(銷毀前) 在實例銷毀之前調用。實例仍然完全可用。
destroyed(銷毀后) 在實例銷毀之后調用。調用后,所有的事件監聽器會被移除,所有的子實例也會被銷毀。該鈎子在服務器端渲染期間不被調用。
什么是vue生命周期?
Vue 實例從創建到銷毀的過程,就是生命周期。也就是從開始創建、初始化數據、編譯模板、掛載Dom→渲染、更新→渲染、卸載等一系列過程,我們稱這是 Vue 的生命周期。
vue生命周期的作用是什么?
它的生命周期中有多個事件鈎子,讓我們在控制整個Vue實例的過程時更容易形成好的邏輯。
vue生命周期總共有幾個階段?
它可以總共分為8個階段:創建前/后, 載入前/后,更新前/后,銷毀前/銷毀后
第一次頁面加載會觸發哪幾個鈎子?
第一次頁面加載時會觸發 beforeCreate, created, beforeMount, mounted 這幾個鈎子
DOM 渲染在 哪個周期中就已經完成?
DOM 渲染在 mounted 中就已經完成了
簡單描述每個周期具體適合哪些場景?
生命周期鈎子的一些使用方法: beforecreate : 可以在這加個loading事件,在加載實例時觸發 created : 初始化完成時的事件寫在這里,如在這結束loading事件,異步請求也適宜在這里調用 mounted : 掛載元素,獲取到DOM節點 updated : 如果對數據統一處理,在這里寫上相應函數 beforeDestroy : 可以做一個確認停止事件的確認框 nextTick : 更新數據后立即操作dom
2、 組件之間的傳值
父組件與子組件傳值
父組件通過標簽上面定義傳值
子組件通過props方法接受數據
子組件向父組件傳遞數據
子組件通過$emit方法傳遞參數
3、vue幾種常用的指令
v-if:判斷是否隱藏;v-for:數據循環出來;v-bind:class:綁定一個屬性;v-model:實現雙向綁定
4、v-if 和 v-show 區別
v-if按照條件是否渲染,v-show是display的block或none
5、v-model是什么?怎么使用?vue中標簽怎么綁定事件?
v-model用於表單數據的雙向綁定,其實它就是一個語法糖,這個背后就做了兩個操作:
- v-bind綁定一個value屬性
- v-on指令給當前元素綁定input事件

使用方法如下:
單向綁定非常簡單,就是把Model綁定到View,當我們用JavaScript代碼更新Model時,View就會自動更新。有單向綁定,就有雙向綁定。
如果用戶更新了View,Model的數據也自動被更新了,這種情況就是雙向綁定。
什么情況下用戶可以更新View呢?填寫表單就是一個最直接的例子。當用戶填寫表單時,View的狀態就被更新了,如果此時MVVM框架可以自動更新Model的狀態,那就相當於我們把Model和View做了雙向綁定。
雙向數據綁定=單向數據綁定+UI事件監聽
1.通過指令 v-on:事件名=“函數名”綁定事件 eg:<button v-on:click="doThis"></button>
2.通過語法 @事件名=“函數名”綁定事件 eg:<button @click.stop="doThis"></button>
6、為什么要進行前后端分離?前后端分離的優勢在哪里?劣勢在哪里?
優點:前端專門負責前端頁面和特效的編寫,后端專門負責后端業務邏輯的處理,前端追求的是頁面美觀、頁面流暢、頁面兼容等。后端追求的是三高(高並發、高可用、高性能)讓他們各自負責各自的領域,讓專業的人負責處理專業的事情,提高開發效率
缺點:1 、當接口發生改變的時候,前后端都需要改變
2、 當發生異常的時候,前后端需要聯調--聯調是非常浪費時間的
