在vue實際項目中,很多時候會在mounted或者created請求數據接口然后渲染到頁面上,但是這兩個生命周期都是只會在第一次進入頁面后執行,再次進入該頁面時,由於vue-router的機制,會緩存已經加載過的頁面數據這樣會大大提高效率,所以我們使用$router.push等跳轉操作時會發現已經在其他頁面上修改的數據,跳轉到這個頁面,修改的數據並沒有變化。
實際例子:a頁面展示了一組數據,需要跳到另一個頁面修改其中的一項數據然后用router.push再跳轉回來。然而實際跳轉回來a頁面的數據並沒有改變。這里我們就需要用到actived這個生命周期了:下面是官網api的解釋:

可以看出axtived需要配合keep-alive使用
我們就需要再項目的router-view加上keep-alive,例如:

然后在a頁面加上actived生命周期:

進入該頁面就會觸發actived,然后執行數據請求接口,頁面數據就進行了更新。
created():在創建vue對象時,當html渲染之前就觸發;但是注意,全局vue.js不強制刷新或者重啟時只創建一次,也就是說,created()只會觸發一次;
activated():在vue對象存活的情況下,進入當前存在activated()函數的頁面時,一進入頁面就觸發;可用於初始化頁面數據等
