vue routerパラメータが取得できない問題について
847 ワード
現在のルーティングでarticleページにジャンプできるtoArticleメソッドがあります
articleではparamsは受け入れられません
このような原因は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({path:'/article',params:this.blogList[index]});
}
}
articleではparamsは受け入れられません
mounted(){
console.log(this.$route.params)
// undifined
}
このような原因はparamsがnameで取得する必要があるためであり,ここでqueryとparamsの違いを理解しなければならない.
以上のテープ面は以下のような修正をすればデータを取得することができます.
methods:{
toArticle:function(index) {
this.$router.push({name:'article',params:this.blogList[index]});
}
}