• Как в Vue js получить значение с одного компонента в другом?

    Kozack
    @Kozack Куратор тега Vue.js
    Thinking about a11y
    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 для отображения данных. Он принимает от родителя состояние, и сообщает родителю, когда это состояние нужно изменить.
    Ответ написан
    Комментировать