1. ホーム
  2. javascript

[解決済み] VuexのアクションからVueルータを使用して移動する方法

2023-03-11 04:36:41

質問

Vue 2.xとVuex 2.xでWebアプリを作成しています。http呼び出しで遠隔地から情報を取得していますが、呼び出しに失敗したら、他のページにリダイレクトするようにしたいのです。

GET_PETS: (state) => {
  return $http.get('pets/').then((response)=>{
      state.commit('SET_PETS', response.data)
    })
  },
  error => {this.$router.push({path:"/"}) }
  )
}

しかし this.$router.push({path:"/"}) は以下のようなエラーを出します。

Uncaught (in promise) TypeError: 未定義のプロパティ 'push' を読み取ることができません。

どうすれば実現できるのでしょうか。

JsFiddleをシミュレーションしてみました。 ここで

どのように解決するのですか?

import router from './router'

を使用し router.push

というようにシンプルに