在路由器视图中的所有路由的单个路由器上保持活动状态

boo*_*boy 15 vue.js vue-router vue-component vuejs2

如果keep-alive被指定为router-view,如下所示

<keep-alive>
    <router-view></router-view>
</keep-alive>
Run Code Online (Sandbox Code Playgroud)

然后,当重新访问该路由时,所有路由都被有效地缓存和重新加载.

我希望能够在各个路线上指定保持活动选项.

对于许多路由并且只需要保留1或2个路由而不重新渲染缓存所有路由都是无用的

有没有这样做的方法或任何可用的解决方法

Eri*_*uan 17

https://jsfiddle.net/Linusborg/L613xva0/4/

在新版本的Vue 2.1.0中,includeexclude道具有条件缓存组件.注意使用该name选项.

const Foo = {
    name: 'foo',
  template: '<div><p v-for="n in numbers">{{ n }}</p></div>',
  data: function() {
    return {
        numbers: [Math.round(Math.random() * 10), Math.round(Math.random() * 10)]
    }
  }
}

const Bar = {
    name: 'bar',
    template: '<div><p v-for="n in numbers"><strong>{{ n }}</strong></p></div>',
  data: function() {
    return {
        numbers: [Math.round(Math.random() * 10), Math.round(Math.random() * 10)]
    }
  }
}
Run Code Online (Sandbox Code Playgroud)