Изучение Vue.js. Ссылка: доступ к элементам и компонентам DOM

В Vue.js атрибут refиспользуется для получения ссылки на определенный элемент или компонент в шаблоне. Он позволяет вам получать доступ к базовому элементу DOM или экземпляру компонента и манипулировать им непосредственно в методах или перехватчиках жизненного цикла вашего компонента Vue. Вот несколько методов, которые вы можете использовать с refв Vue:

  1. Доступ к элементам DOM:

    <template>
     <div>
       <input ref="myInput" type="text" />
       <button @click="focusInput">Focus Input</button>
     </div>
    </template>
    
    <script>
    export default {
     methods: {
       focusInput() {
         this.$refs.myInput.focus();
       }
     }
    }
    </script>

    В этом примере атрибут refиспользуется для ссылки на входной элемент, а метод focusInputиспользует this.$refs.myInputдля доступа и вызова метода focus()для элемента ввода.

  2. Доступ к дочерним компонентам:

    <template>
     <div>
       <child-component ref="myChild"></child-component>
       <button @click="callChildMethod">Call Child Method</button>
     </div>
    </template>
    
    <script>
    import ChildComponent from './ChildComponent.vue';
    
    export default {
     components: {
       ChildComponent
     },
     methods: {
       callChildMethod() {
         this.$refs.myChild.childMethod();
       }
     }
    }
    </script>

    В этом примере атрибут refиспользуется для ссылки на ChildComponent, а метод callChildMethodиспользует this.$refs.myChildдля доступа и вызова метода (childMethod()), определенного в дочернем компоненте.

  3. Доступ к родительским компонентам:

    <template>
     <div>
       <button @click="callParentMethod">Call Parent Method</button>
     </div>
    </template>
    
    <script>
    export default {
     methods: {
       callParentMethod() {
         this.$parent.parentMethod();
       }
     }
    }
    </script>

    В этом примере атрибут refне используется напрямую, но вы можете использовать this.$parentдля доступа к родительскому компоненту и вызова его методов.

Это всего лишь несколько примеров того, как можно использовать refв Vue.js. Он предоставляет возможность напрямую взаимодействовать с элементами и компонентами, что может быть полезно в различных сценариях.