Javascript 当Graphql的返回查询为空时,如何在Nuxtjs中重定向

Javascript 当Graphql的返回查询为空时,如何在Nuxtjs中重定向,javascript,graphql,nuxt.js,apollo,Javascript,Graphql,Nuxt.js,Apollo,我对Nuxtjs和javascript世界非常陌生。我正在处理的Nuxtjs项目需要使用Graphql从后端获取数据(Strapi)。 目标是在Graphql返回空查询结果时重定向到homepage(index.vue)。 但是,当我使用router.push(“/”)时,它不起作用,如下代码所示 请注意,我正在尝试重定向结果块和挂载块。他们两个根本不起作用 请帮我指出我做错了什么。提前谢谢你的好意 <script> import getProfiletQuery from '~/a

我对Nuxtjs和javascript世界非常陌生。我正在处理的Nuxtjs项目需要使用Graphql从后端获取数据(Strapi)。 目标是在Graphql返回空查询结果时重定向到homepage(index.vue)。 但是,当我使用router.push(“/”)时,它不起作用,如下代码所示

请注意,我正在尝试重定向结果块和挂载块。他们两个根本不起作用

请帮我指出我做错了什么。提前谢谢你的好意

<script>
import getProfiletQuery from '~/apollo/queries/profiles/profile'

export default {
  data () {
    return {
      profiles: {
      }
    }
  },
  apollo: {
    profiles: {
      prefetch: true,
      query: getProfiletQuery,
      variables () {
        return { user: this.$route.params.user }
      },
      result ({ data }) {
        if (data.profiles.length === 0) {
          console.log('it enters here!!!')
          this.$router.push('/') //this is not working
        }
      }
    }
  },
  mounted () {
    console.log('this.profiles.length: ', this.profiles.length)
    if (this.profiles.length === 0) {
      this.$router.push('/')
    }
  }
}
</script>

从“~/apollo/queries/profiles/profile”导入getProfiletQuery
导出默认值{
数据(){
返回{
简介:{
}
}
},
阿波罗:{
简介:{
预回迁:对,
查询:getProfiletQuery,
变量(){
返回{user:this.$route.params.user}
},
结果({data}){
if(data.profiles.length==0){
console.log('它进入这里!!!')
此。$router.push('/')//此操作无效
}
}
}
},
挂载(){
log('this.profiles.length:',this.profiles.length)
if(this.profiles.length==0){
这是。$router.push(“/”)
}
}
}

如果您是JS新手,可能不应该使用Nuxt+Apollo。在这里跳了几步,如图所示:@kissu我完全同意你。但这项任务要求我这样做。我承认我完全糊涂了:(试着在
挂载的
中用
这个来拨打阿波罗呼叫。$apollo
,也许这可以导航到下一页。