對vue 內置組件keep-alive的疑問,include和exclude不生效?
1.首先看看我的版本沒有問題
2. 看看官方文檔3. 看看我的代碼結構
可是沒有生效,請問這是為什麼呢,表示查了資料不理解,網上也沒有實際的解決辦法或者答案,第一次項目用vue,感覺看不懂
&
&
&
include 使該標籤作用於所有name屬性的值跟此標籤 include的屬性值一致的vue頁面
exclude 使該標籤不作用於所有name屬性的值跟此標籤 exclude的屬性值一致的vue頁面
使用include/exclude 屬性需要給所有vue類的name賦值(注意不是給route的name賦值),否則 include/exclude不生效
給name賦值的方法:
在vue類中賦值,與data、components等平級
export default {
name:KeepAlive,
components: {
},
data () {
return{
}
},
}
這個name不能寫在路由中,應該寫在組件的name屬性中
export default {
name: list,
data() {
return {
}
},
找了一下午,終於找到原因,include要生效,必須要滿足以下兩點:
如果你要緩存Live,不緩存ConsultDetail,include需設置:
1、需要緩存的組件的name(注意不是路由的name),要在include中。
2、不需要緩存的name,必須設置!且不能在include中。
我之前就只設置了Live的name,忘了設置ConsultDetail, 坑爹啊!
補充下用法:
目前只能生效一個
include 優先順序比 exclude高
推薦閱讀:
※vue build 在伺服器build還是在本地build之後放在伺服器?
※vuejs 開發中, 有必要把button, input封裝成組件嘛?
※src屬性綁定出錯?
※關於『餓了么的PWA升級實踐』中『採用傳統的頁面跳轉』這一問題?
TAG:Vuejs |