vue routerパラメータが取得できない問題について

847 ワード

現在のルーティングでarticleページにジャンプできるtoArticleメソッドがあります
  methods:{
      toArticle:function(index) {
      this.$router.push({path:'/article',params:this.blogList[index]});
    }
  }

articleではparamsは受け入れられません
    mounted(){
      console.log(this.$route.params)
      //    undifined
    }

このような原因はparamsがnameで取得する必要があるためであり,ここでqueryとparamsの違いを理解しなければならない.
  • queryはpathで導入され、受信パラメータはすべてthis.$route.query.name.queryはajaxのgetパラメータ、すなわちブラウザアドレスバーにパラメータを表示するのと似ています.
  • paramsはnameで導入され、受信パラメータはすべてthis.$route.params.name.paramsはpostに似ています.つまり、ブラウザのアドレスバーにパラメータは表示されません.

  • 以上のテープ面は以下のような修正をすればデータを取得することができます.
      methods:{
          toArticle:function(index) {
          this.$router.push({name:'article',params:this.blogList[index]});
        }
      }