Vue.js如何管理nuxt保持活动密钥?
我正在为我的vue项目使用Nuxt。我想构建一个多选项卡应用程序。但是我无法管理nuxt的缓存机制 情况是,即使在更新路径中,我的完整路径也从不包含任何参数 我的意思是我的道路总是像 /myapp/客户/更新 而不是 /myapp/custmer/update/:id 所以当我尝试绑定nuxt键时Vue.js如何管理nuxt保持活动密钥?,vue.js,caching,nuxt.js,vue-router,keep-alive,Vue.js,Caching,Nuxt.js,Vue Router,Keep Alive,我正在为我的vue项目使用Nuxt。我想构建一个多选项卡应用程序。但是我无法管理nuxt的缓存机制 情况是,即使在更新路径中,我的完整路径也从不包含任何参数 我的意思是我的道路总是像 /myapp/客户/更新 而不是 /myapp/custmer/update/:id 所以当我尝试绑定nuxt键时 它不缓存任何内容,并保持加载所有生命周期(创建前、创建后、装载前、装载后…) 如果我不使用:键 然后,保持活动状态适用于没有参数的页面 但在参数上是错误的。如果我路由到id为3的客户一次,那么当我转
它不缓存任何内容,并保持加载所有生命周期(创建前、创建后、装载前、装载后…)
如果我不使用:键
然后,保持活动状态适用于没有参数的页面
但在参数上是错误的。如果我路由到id为3的客户一次,那么当我转到id为4的另一个客户时,它仍然缓存并显示id为3的客户的数据
这是我的nuxt链接代码:
<span
v-for="(tag, index) in tabbedViews"
:key="tag.name + (tag.params ? JSON.stringify(tag.params) : '')"
>
<nuxt-link
:key="tag.name + (tag.params ? JSON.stringify(tag.params) : '')"
:to="{ name: tag.name, params: tag.params }"
@click.native="tabClicked(index)"
>
{{ tag.name }}
<span
v-if="!tag.keepOpen"
class="el-icon-close"
@click.prevent.stop="closeSelectedTag(index)"
/>
</nuxt-link>
</span>
{{tag.name}
下面是我用来查看路线的代码
<nuxt keep-alive :key="$route.path + ($route.params ? JSON.stringify($route.params) : '')" />
任何帮助都是令人愉快的
谢谢您…尝试使用
:numxt子键
而不是:key
我不确定,但当
$route.params
为空时,它可能是一个空数组,而不是未定义或空数组。这可能会影响你的if条件。@Eldar,谢谢你的回答。是的,正如你所说,它是一个空的物体,我解决了这个问题。但这并没有解决问题。