keep-alive
是vue的內置組件,能夠在組件切換過程當中保留組件的狀態,避免被從新渲染,但其自身是一個抽象組件,不會渲染DOM元素vue
<keep-alive>
<component>
// ...
</component>
</keep-alive>
複製代碼
export default {
name: 'xxx',
// ...
}
// name爲xxx的組件被緩存
<keep-alive include="xxx">
<component>
// ...
</component>
</keep-alive>
// 同理,不緩存name爲xxx的組件
// 只須要將include換爲exclude便可
複製代碼
<keep-alive include="xxx">
<router-view>
// ...
</router-view>
</keep-alive>
複製代碼
以上狀況中全部<router-view>
匹配到的組件都將被緩存vue-router
若是我只想緩存
<router-view>
匹配到組件中的某些組件,該如何是好?不急,有辦法緩存
<router-view>
中匹配到的xxx組件纔會被緩存// router/index.js
export default [
{
path: '/',
name: 'home',
component: Home,
meta: {
keepAlive: true // 須要被緩存
}
}
]
<keep-alive>
<router-view v-if="$route.meta.keepAlive">
// ...
</router-view>
</keep-alive>
複製代碼
項目開始前的預熱內容,具體問題,要等到項目中去發現,解決bash