Имеется следующий код:
watch: {
ActivePage(value){
let RouterParams = {};
let RouterQuery = {
...this.$route.query
};
if(value === 1 && RouterQuery.hasOwnProperty('page')) {
delete RouterQuery.page;
}
if(value > 1) {
RouterQuery.page = value;
}
RouterParams = {
query: RouterQuery
};
this.$router.push(RouterParams);
},
PerPage(value){
let RouterParams = {};
let RouterQuery = {
...this.$route.query
};
if((value === this.PageCapacity.filters[0].value) && RouterQuery.hasOwnProperty('perpage')) {
delete RouterQuery.perpage;
}
if(value !== this.PageCapacity.filters[0].value) {
RouterQuery.perpage = value;
}
RouterParams = {
query: RouterQuery
};
this.$router.push(RouterParams);
}
}
ActivePage и PerPage - входные параметры.
Если изменить сразу оба параметра, с помощью мутации(данные лежат во vuex и передаются в компонент с помощью геттеров), то сначала отработает одна watch функция и потом другая, не дождавшись добавления параметров. Из-за этого одна функция затирает данные другой...
Есть ли возможность заставить их работать по очереди?