標籤:

對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 |