【问题标题】:VueJS: Re-create component after clicking on the same "router-link"?VueJS:单击相同的“路由器链接”后重新创建组件?
【发布时间】:2018-09-19 00:14:20
【问题描述】:

使用 vue.js 和 vue-router,有没有办法在点击指向与当前路由相同的路由的“router-link”后重新创建组件?

基本上,如果单击指向当前路由的“路由器链接”可以重新启动我的组件的“created()”或“mounted()”功能,那就太好了。

也许“$watch”有什么技巧,或者类似的东西,我真的不知道!

【问题讨论】:

  • 也许你可以添加一个方法来完成你想要的点击。

标签: javascript vue.js vuejs2 vue-router


【解决方案1】:

为了让 Vue 区分组件和之前的不一样,应该给组件一个 key 属性。当键更改时,vue 会重新创建组件,因此您需要路由独有的东西,例如 url。在这个沙盒上,您可以看到每次密钥更改时都会运行创建的挂钩。

https://codesandbox.io/s/6xmymlpvwk

【讨论】:

  • 它有效,谢谢!澄清一下:我更改“键”的事件被放置在“路由器链接”上,所以我必须像这样添加它:@click.native="myEvent"
  • 是的,<router-view :key="this.$route.path" />
猜你喜欢
  • 2018-04-22
  • 2020-02-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-21
  • 1970-01-01
  • 2021-10-02
  • 1970-01-01
相关资源
最近更新 更多