gotoshin

主に学んだ事の自分メモ用です。記事に書くまでも無いような事はhttps://scrapbox.io/study-diary/に書いてます。

vue router pushでURLがリセットされない

nuxtで開発している際に、以下の遷移元から遷移先へthis.$router.pushで画面遷移しようとした時に少し手間取ったのでメモ。

遷移元

/book/1/memo?id=〇〇

遷移先

/book/1/memo/create?id=〇〇

この時

      const url = 'book/' + this.$route.params.book_id + '/memo/create'
      this.$router.push({ path: url, query: { id: this.book.id } });

では遷移せず、urlの先頭のbook//book/へ変更する事で遷移出来た。

      const url = '/book/' + this.$route.params.book_id + '/memo/create'
      this.$router.push({ path: url, query: { id: this.book.id } });

今まで特に意識してなかったが、/を先頭に入れるのがスタンダードな書き方の様だった。 が詳しい原因は不明。

プログラムによるナビゲーション | Vue Router