2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[Vue]便利なnuxt-linkや$routerだが、外部サイトへのページ遷移はaタグを使うしかない件

Posted at

薄めの内容ですが、調べて「はえ〜」と思ったので、共有しておきます。

nuxt-linkや$routerは、外部サイトへのリンクとしては使えない

nuxt-linkと$routerについて

ここでは、簡単に書きます。サンプルは以下の通りです。

サンプルコード

nuxt-linkのサンプル
<nuxt-link to="/home">ホームへ</nuxt-link>
$routerのサンプル
<button @click="onClick">ホームへ</button>

~省略~

<script>
  new Vue({
    el: "#app",
    methods: {
      onClick(){
        this.$router.push('/home');
      }
    }
  })
</script>

すごいざっくり特徴を解説

箇条書きにすると、以下の感じです。
ちょっとざっくり過ぎますが、ご容赦ください。

  • 両方ともページ遷移で便利
  • あくまで主観的だが、aタグでのリンクと比べて、非同期的な操作感がる。サクサクとページ遷移される。
  • nuxt-linkの方は、レンダリングされてブラウザで表示される際には、aタグとして描画される。
  • $routerはnuxt-linkをスクリプト的な表現にしたもの。

外部サイトへのリンクでは使えない

nuxt-linkや$routerですが、以下の様な、外部サイトへのリンクとしては使えません

挙動してくれないサンプル
<nuxt-link to="https://qiita.com">Qiitaへ</nuxt-link> <!-- ※ページ遷移されない -->

エラー等は出ないですが、クリックしてもページ遷移はしてくれません。

対応策案

今の所、シンプルにaタグにして

対応策
<a href="https://qiita.com">Qiitaへ</a>

とすることぐらいでしょうか。
何か他に良い方法があれば、どなたか教えていただければ嬉しいです。

さいごに

今日は短い内容ですが、以上です。
最後まで、ありがとうございました。

参考にしたサイト
参考にしたサイト

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?