Вам нужно assign
все свойства с route
.
Object.Assign
создает новую КОПИРУ из $route
, включая все перечисляемые СОБСТВЕННЫЕ свойства
Еще одно предложение -
Когда вы делаете это let obj = this.$route.query;
-
Objects
сохраняется в memory
, поэтому, когда вы пытаетесь скопировать object
, вы фактически копируете address
из object
, где это хранится в памяти.
Поэтому, когда вы делаете это - obj[taxonomy] = term_ids.join(',');
Вы случайно измените исходное значение, поэтому требуется клонирование
Вместо этого клонируйте его -
let obj = { ... this.$route.query }
this.$router.push({
query: Object.assign({}, this.$route.query, obj),
});