У меня есть рабочая нумерация страниц с использованием (Laravel, Vuejs и Bootstrap - Vue), но мне нужно добавить номер страницы в URL, чтобы использовать историю. (для кнопки назад). Это то, что у меня есть до сих пор. Цель - разместить страницу №. в URL, чтобы иметь кнопку возврата.
{
path: "/", //here I will change it with "/:id"
name: "Home",
component: Home,
},
<b-pagination
v-model="currentPage"
:per-page="perPage"
:total-rows="totalRows"
>
</b-pagination> //this is my pagination nav, that takes currentPage from get Request
axios.get('/list',{
params: {
'page': this.currentPage,
'per_page': this.perPage,
},
})
.then(response => {
this.perPage = response.data.per_page;
this.totalRows = response.data.total;
})
.catch(function (error) {
console.log('Error');
}) //and this is the get request
Обновление
Я добавляю router.push({ path: "/", query: { page: this.currentPage } });
в моем ответе на запрос. У меня есть путь, но когда я пытаюсь получить доступ к странице 2, его идентификатор меняется на 2 и снова на 1. и я получил ошибку дубликата.
NavigationDuplicated {_name: "NavigationDuplicated", имя: "NavigationDuplicated", сообщение: "Переход к текущему местоположению (" /? page = 1 ") не разрешен "
ОБНОВЛЕНИЕ 2 Я почти сделал это, единственное, что еще не работает, это активный класс, на нумерации страниц, всегда страница 1 активна. (переменная content, url и currentPage изменены)
watch:{
currentPage() {
this.$router
.push({
query: {
...this.$route.query,
page: this.currentPage
}
})
.catch(() => {});
},
}
//In reseponse from axios:
this.currentPage = response.data.current_page;