我将 vue-router 与一系列组件(如选项卡)一起使用。每个<router-link>都是一个选项卡,下面的空间是<router-view>. 其中两个选项卡是具有不同过滤器的相同组件,假设它们是products并且路由器添加了用于过滤的参数:/products/new& /products/sale。
里面products是单独的product组件,当路由打开时它们会被安装。我的问题是,当我在路由之间切换并且更改过滤器参数时,product每次都会重新安装组件。我想缓存它们,以便来回切换更容易。为此,我设置<keep-alive>并添加:key='$route.fullPath'到我的<router-view>但它们似乎没有被缓存。每个product仍烧成mounted()事件,当我之间进行切换products。
<keep-alive>
<router-view :key='$route.fullPath'></router-view>
</keep-alive>
Run Code Online (Sandbox Code Playgroud)
我应该将每个products视图变成一个单独的组件吗?