Теперь ваша созданная функция отправляет действие checkMovieStore с идентификатором, который выполняет http-вызов, после завершения которого хранилище обновляет значение.

го, как я получил детали фильма из скрипта компонента. Функция сначала проверяет, совпадает ли идентификатор фильма магазина с идентификатором фильма маршрута. Если это то же самое, то не получайте фильм из API сервера, иначе не получайте фильм из API сервера.

Работало нормально. Но сейчас я пытаюсь получить детали фильма из мутации магазина. Однако я получаю ошибку

Uncaught TypeError: Невозможно прочитать свойство '$ route' из неопределенного

Как использовать vue-router($route) получить доступ к параметрам и vue-ресурсу($http) получить с сервера API в vuex store?

store.js:

export default new Vuex.Store({
    state: {
        movieDetail: {},
    },
    mutations: {
        checkMovieStore(state) {
            const routerMovieId = this.$route.params.movieId;
            const storeMovieId = state.movieDetail.movie_id;
            if (routerMovieId != storeMovieId) {
                let url = "http://dev.site.com/api/movies/movie-list/" + routerMovieId + "/";
                this.$http.get(url)
                    .then((response) => {
                        state.movieDetail = response.data;
                    })
                    .catch((response) => {
                        console.log(response)
                    });
            }
        },
    },
});

компонентный скрипт:

export default {
    computed: {
        movie() {
            return this.$store.state.movieDetail;
        }
    },
    created: function () {
        this.$store.commit('checkMovieStore');
    },
}

Ответы на вопрос(2)

Ваш ответ на вопрос