在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ vue 如果讓頁面來回跳轉,但數據不變

vue 如果讓頁面來回跳轉,但數據不變

我當前場景是,產品搜索頁 /search?a=b&c=d 與 產品詳情頁 /item/123 都是在同一個 router-view ;

我想要效果是,列表頁跳轉詳情頁,再跳回來,列表頁不刷新

兩個頁面路由如下

children: [
    {
        path: 'search',
        name: 'search',
        meta: {
            title: '商品搜索',
            keepAlive: true
        },
        component: _import('xx')
    },
    {
        path: 'item/:skuid',
        name: 'detail',
        meta: {
            title: '商品詳情',
            keepAlive: false
        },
        component: _import('xxx')
    }
]

搜索頁面監(jiān)聽 $route(如下代碼),一有變化就加載產品列表,

watch: {
    '$route': {
         handler: 'getProduct',
         immediate: true
     }
}

搜索一下網上很多提到用 keep-alive結合mate.keepAlive實現(xiàn),但我不明白原理,并且下面寫法并不能實現(xiàn)想要效果

<keep-alive>
    <router-view></router-view>
</keep-alive>

第一次用前端框架,很多概念都不怎么理解,看文檔有點懵逼

我的思路是不是錯了,或者是寫法錯誤,希望得到指點,拜托了

回答
編輯回答
朕略萌

<keep-alive include="a,b">
<!-- 將緩存name為a或者b的組件-->
<component :is="view"></component>
</keep-alive>

2018年3月30日 01:15
編輯回答
編輯回答
歆久

在App.vue中的view外面包keep-active,js代碼同一樓所說

2017年9月3日 01:19
編輯回答
誮惜顏

我之前做過類似的,使用keep-alive,在路由里面的meta在定義是否需要緩存:
https://segmentfault.com/q/10...

2017年6月27日 06:59
編輯回答
你好胸

題主是想要有keep-alive的緩存效果,但是如果數據發(fā)生變化,就更新列表,是不是?

其實,kepp-alive鉤子的觸發(fā)順序created-> mounted-> activated,退出時觸發(fā)deactivated。當再次進入(前進或者后退)時,只觸發(fā)activated。vue keep-alive生命周期描述

所以,題主,只要把create鉤子中的獲取數據邏輯放置到activated中即可,而且是完全的響應式

2018年7月10日 11:06