#我的專案只要是寫了keep-alive標籤,無論你exclude裡面寫了什麼,它都會全部頁面都快取。
<keep-alive exclude="xxx,yyy"> <router-view></router-view> </keep-alive>
求解啊?
认证0级讲师
同樣發現這個問題,include也一樣,沒用! 請問為什麼
你這是 exclude 啊
目前似乎使用vue-router不能直接用include,exclude
只能這樣寫
<keep-alive> <router-view v-if="$route.meta.keepAlive"></router-view> </keep-alive> <router-view v-if="!$route.meta.keepAlive"></router-view>
參考vue-router的issue#811
exclude 完全沒問題, 幾個注意點,
vue-router 的版本必須是2.1+
設定了exclude的組件, 如果是同名組件切換, 一樣會緩存, 這是因為組件復用
給組件設定name
exclude設定對應組件的name
https://jsfiddle.net/lincenyi...
打開上面的例子, 點擊/params/foo 內容會由一開始的1234, 1秒後變成2345/params/foo 内容会由一开始的1234, 1秒后变成2345再点击/optional-group/foo/bar最后再点击/params/foo再點擊/optional-group/foo/bar
/params/foo
/optional-group/foo/bar
exclude="foo2"刪除 程式碼中的
exclude="foo2"
再重複上面的3個步驟,
同樣發現這個問題,include也一樣,沒用! 請問為什麼
你這是 exclude 啊
目前似乎使用vue-router不能直接用include,exclude
只能這樣寫
參考vue-router的issue#811
exclude 完全沒問題,
幾個注意點,
vue-router 的版本必須是2.1+
設定了exclude的組件, 如果是同名組件切換, 一樣會緩存, 這是因為組件復用
給組件設定name
exclude設定對應組件的name
https://jsfiddle.net/lincenyi...
打開上面的例子,
最後再點擊點擊
/params/foo
內容會由一開始的1234, 1秒後變成2345/params/foo
内容会由一开始的1234, 1秒后变成2345再点击
/optional-group/foo/bar
最后再点击
/params/foo
再點擊/optional-group/foo/bar
/params/foo
, 出現的結果一樣是1234, 1秒後變成2345, 說明組件沒被緩存exclude="foo2"
刪除 程式碼中的再重複上面的3個步驟,