緩存組件的新用法
1.緩存組件的介紹:用來保留組件的狀態,避免數據的污染。
2.緩存組件的用法
1 <!-- 組件內部--> 2 <keep-alive> 3 <router-view v-if="$route.meta.keepAlive"> 4 <!-- 這里是會被緩存的視圖組件,比如 Home! --> 5 </router-view> 6 </keep-alive> 7 8 <router-view v-if="!$route.meta.keepAlive"> 9 <!-- 這里是不被緩存的視圖組件,比如 Edit! --> 10 </router-view>
1 //router/index.js 2 export default [ 3 { 4 path: '/', 5 name: 'home', 6 component: Home, 7 meta: { 8 keepAlive: true // 需要被緩存 9 } 10 }, { 11 path: '/:id', 12 name: 'edit', 13 component: Edit, 14 meta: { 15 keepAlive: false // 不需要被緩存 16 } 17 } 18 ]
3.組件緩存的另一種用法
注意:當組件在緩存組件中切換:他的activated和deactivated這倆個聲明周期函數將會被執行
1 <!--只要將緩存的組件的name名稱放到include里面即可--> 2 <!--不需要緩存的組件的name名稱放到exclude里面即可--> 3 <keep-alive> 4 <router-view :exclude="[]" :include="['home']"> 5 </router-view> 6 </keep-alive>
1 //router/index.js 2 export default [ 3 { 4 path: '/', 5 name: 'home', 6 component: Home 7 }, { 8 path: '/:id', 9 name: 'edit', 10 component: Edit 11 } 12 ]