0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【力技】Vue.js開発中に強制リロードする

Last updated at Posted at 2024-12-25

Vueで下記のようなAPI通信をしていたときに詰まったので、メモします。

API通信でPOSTリクエストの処理後に一覧表示をさせるのですが、タイマーなどを使っている事情で、データ取得後に一度画面をリロードする必要がありました。

方法として下記の記事のようにVueRouterを使用する方法があったのですが、仕様の変更によりうまく動かなくなっているようです。

そこで、かなり力技ですが素のjsで実装したところ、とても簡潔に解決しました(全部Vueでやらなきゃと視野が狭まっていましたね)

submit() {
  let data = {
        //省略
  };

  axios.post('/api/store',data)
    .catch(error => {
      alert(error);
    })
    //下記の一文を終わらせたい処理の下に追加する
    window.location.reload();
  },

これで無事、API通信後に画面がリロードされるようになりました!!
SPAのプロジェクトを前提としているので画面遷移は、対象外ですが、うまく組み合わせれば、場面遷移とリロードもできそうですね。

【追記:リンクを追加する方法】
下記のような記載で好きなURLへ飛ばせました。
submit() {
let data = {
//省略
};

  axios.post('/api/store',data)
    .catch(error => {
      alert(error);
    })
    //飛ばしたいリンクを指定する
          window.location.href = '/';
  },
0
1
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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?