Vue.js nuxt watchQuery无法使用新查询处理更新路由

Vue.js nuxt watchQuery无法使用新查询处理更新路由,vue.js,nuxt.js,asyncdata,Vue.js,Nuxt.js,Asyncdata,当我使用$router.push添加新查询以路由Nuxt watchQuery不工作和asyncData不获取api并重新装载子组件时。请注意“新查询”,默认情况下不存在任何查询。(创建新查询后,然后是现有查询,所有内容都正确,watchQuery工作正常。) example.com/some-param-->example.com/some-param?brand=x(不工作的watchQuery) example.com/some-param?brand=x-->example.com/so

当我使用$router.push添加新查询以路由Nuxt watchQuery不工作和asyncData不获取api并重新装载子组件时。请注意“新查询”,默认情况下不存在任何查询。(创建新查询后,然后是现有查询,所有内容都正确,watchQuery工作正常。)

example.com/some-param-->example.com/some-param?brand=x(不工作的watchQuery)

example.com/some-param?brand=x-->example.com/some-param(正确的watchQuery)


你检查过这个吗!!对我知道这一点,我的问题是为什么它对向route添加新查询没有反应。如果查询存在,一切都是正确的。(我不确定,但我认为这是nuxt的一个大错误)使用$router.push({path:$route.path,query:q})而不是$router.push({name:“search slug”,params:vm.$route.params,query:q})解决了这个问题;
change_brand: function () {
  const vm = this;
  /*** selected_brands = [] is an array defined in data ***/
  let q = { ...vm.$route.query };
  if (vm.selected_brands.length > 0) {
    q.brands = vm.selected_brands.join("-");
  } else {
    delete q.brands;
  }
  vm.$router.push({
    name: "search-slug",
    params: vm.$route.params,
    query: q,
  });
},