鍍金池/ 問答/HTML/ vue中keep-alive中緩存的組件可以主動(dòng)銷毀嗎?

vue中keep-alive中緩存的組件可以主動(dòng)銷毀嗎?

在項(xiàng)目中使用會(huì)緩存?zhèn)€別路由組件,代碼如下:

      `<transition name="fade" mode="out-in">
        <keep-alive>
            <router-view v-if="$route.meta.keepAlive"></router-view>
        </keep-alive>
    </transition>
    <transition name="fade" mode="out-in">
        <router-view v-if="!$route.meta.keepAlive"></router-view>
    </transition>`
    
    這兒有一個(gè)問題就是:如果我想主動(dòng)把keep-alive中的個(gè)別組件手動(dòng)銷毀,還沒有什么方法和頭緒。麻煩各位了~~
回答
編輯回答
蝶戀花

在vue@2.5.0 中 keep-alive 新增了一個(gè) max 屬性可以設(shè)置 cache instance 的個(gè)數(shù)

add max prop for <keep-alive> for limiting max number of instances cached

相關(guān)issue

所以個(gè)人認(rèn)為沒有太大必要手動(dòng)來維護(hù) keep-alive的組件,當(dāng)然你想的話可以使用includeexclude 來實(shí)現(xiàn)

2018年1月16日 23:42
編輯回答
汐顏

如果是要刷新數(shù)據(jù)的話,請通過url傳參并通過"watch":"$route"監(jiān)聽事件

    watch: {
      '$route' (to, from) {
        // 對路由變化作出響應(yīng)...
      }
    }
2017年1月3日 01:35
編輯回答
局外人

請問最后怎么解決的?

2017年3月29日 20:44