我有一个 Package 在<keep-alive>
中的Vue 3动态组件,它本质上是在PrimeVue <Dialog>
中添加导航,并由一个对象填充:
const component = [
{
id: 0,
name: 'Test'
props: {
...
}
},
...
]
<keep-alive>
<component :is="component.name" :key="component.id" :props="component.props" />
</keep-alive>
在其中一个页面上,有一个onMounted
功能,当页面处于活动状态时,该功能会激活搜索,但是,用户也可以来回导航到其他页面;在他们最初点击“搜索页面”,然后尝试导航回来,onMounted
不会启动第二次搜索,这是需要的。
我想在<component>
中有一个key
可以完成重新呈现的任务,但似乎没有,那么我应该如何让“搜索页面”在导航时重新呈现呢?
(For参考,<Dialog>
导航由emit
发生,它只是递增<component :is>
对象键)。
谢谢!
1条答案
按热度按时间hmmo2u0o1#
onMounted不会在第秒次访问同一页面时触发。您可以使用onActivated来
activates
。solution 1-将页面移出keep-alive
解决方案2-使用onActivated