https://medium.com/@modex13/vue-js-2-%D0%BF%D0%B5%...
Я бы сделал через директиву v-model:
Родительский компонент хранит значения фильтров. И передаёт их в дочерний
<filters v-bind:value="filtersState">
А дочерний компонент сам эти состояния не изменяет, а просто стреляет событием с новыми значениями. Их обновляет родитель:
<filters v-bind:value="filtersState" v-on:input="newFiltersState => filtersState = newFiltersState">
Или в сокращенной форме
<filters v-model="filtersState">
Таким образом, родитель который использует данные сам ими и управляет. Он и только он хранит эти данные и всегда в актуальном состоянии. А дочерний фильтр выполняет роль исключительно UI для отображения данных. Он принимает от родителя состояние, и сообщает родителю, когда это состояние нужно изменить.