Martovitskiy
@Martovitskiy

Как после Route push делать route replace при ошибке Uncaught (in promise) NavigationDuplicated: Avoided redundan?

Есть меню:
<router-link :to="{name: 'statistics.all'}" replace class="router-link">
    <i class="el-icon-pie-chart" style="color: rgb(255 255 190);"></i>
    <span>{{ lang('statistic_click') }}</span>
</router-link>


После клика, попадаю в компонент, где и пытаюсь добавить query в url.
created() {
        this.$root.$on('page_filter', (data) => {
                let res = JSON.stringify(data);
                let query = encodeURI(res);
                this.$router.replace({query: {query} })
            })
    },


Работает ок, при изменении page_filter и при перезагрузке страницы, но вот когда клацаю по меню и снова пытаюсь клинкуть по router-link :to="{name: 'statistics.all'}", то уже query не подставляет и выдает ошибку
app.js:221996 Uncaught (in promise) NavigationDuplicated: Avoided redundant navigation to current location.
Как заглушить знаю, достаточно обработчика catch
this.$router.replace({query: {query} }).catch(e => e)

Как мне сделать, чтоб this.$router.replace работал в любом случае, т.е. перебивал router-link :to?
  • Вопрос задан
  • 50 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы