nuxt.js 的 nuxt-link 标签的带参数路由第一次不触发

跳转的代码:

<nuxt-link :to="'/course/search?keyword='+keyword+'&mt=' + category_v.id" >{{category_v.name}}
</nuxt-link>

监听的代码:
```watch: {
'$route': 'search'
}

预计情况下,在页面点击一次nuxt-link 标签,路由变化一次,触发一次 search事件;实际情况是,路由发送一次变化,但是 search 没有触发,只有在点击另外一个nuxt-link 标签,使路由在发生一次变化,才可以触发search事件,之后每一次点击都可以触发 监听
即:第一次点击nuxt-link 产生的路由变化没有触发监听事件

参考GPT和自己的思路:

根据你提供的信息,这个问题可能是由于 watch 的事件机制造成的。在加载页面时,'$route' 事件已经发生了一次,所以第一次点击 nuxt-link 标签时,watch 事件没有被触发。而在点击另一个 nuxt-link 标签之后,又发生了一次路由变化,这次事件触发了 watch,所以之后的每一次点击都可以触发 watch 事件。

为解决这个问题,你可以在组件的 created 生命周期钩子函数里面手动触发 search 事件。这样,在页面加载后就会立即触发 search 事件,从而保证第一次点击 nuxt-link 标签可以正常触发事件。你可以像下面这样修改代码:

created() {
  this.search();
},
watch: {
  $route: 'search'
},
methods: {
  search() {
    // ...
  }
}

希望这可以帮助你解决问题。