Как убрать запрос с vue роутера? - PullRequest
0 голосов
/ 21 января 2020

Все попытки удалить строку запроса завершаются неудачно

            // Initial state
            this.$router.replace({
                name: 'routeName',
                query: {
                    param: 123
                }
            });

            // Errors
            this.$router.replace({ query: {}});
            this.$router.replace({ query: undefined });
            this.$router.replace({ query: null });

Как удалить запрос без ошибок?

Vue -router v3.1.5

Ответы [ 2 ]

0 голосов
/ 28 января 2020

Попробуйте этот код:

let query = Object.assign({}, this.$route.query);
delete query.param;
this.$router.replace({ query });
0 голосов
/ 21 января 2020

По какой-то причине router.replace() & router.push() нужен непустой объект в качестве запроса. Поэтому все, что нужно сделать, это очистить исходный объект запроса от значений, таких как:

let query = {
  param: [1, 2, 3]
};

// Initial state
this.$router.push({
  name: 'yourRouteName',
  query: query
});

// clean your initial query object
query.param = [];

// Now replace it
this.$router.replace({
  query: query
});
...