javascript Vue3组件“OnMounted”刷新

w6lpcovy  于 2023-06-28  发布在  Java
关注(0)|答案(1)|浏览(358)

我有一个 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>对象键)。
谢谢!

hmmo2u0o

hmmo2u0o1#

onMounted不会在第次访问同一页面时触发。您可以使用onActivatedactivates

solution 1-将页面移出keep-alive
解决方案2-使用onActivated

相关问题