Blog

Ref Nedir?
  • 06 Ocak 2024
  • Yorum

Vue.js'de ref özelliği, Vue bileşenlerinde veya DOM elemanlarında referanslar oluşturmak için kullanılır. Bu özellik, Vue uygulamasının JavaScript kısmından, şablon içindeki belirli bir DOM elemanına veya bileşene doğrudan erişim sağlar. Bu, geleneksel DOM manipülasyonu metodlarına bir alternatif olarak Vue'nun reaktif sistemi içinde kalmanıza yardımcı olur.

ref Kullanımı:

  1. DOM Elemanlarına Erişim: Şablon içinde bir DOM elemanına ref attribute'u ekleyerek, bu elemana Vue örneği üzerinden erişebilirsiniz.

                    
    javascript
    <template>
    <div ref="myDiv">Merhaba Dünya!</div>
    </template>
    <script>
    export default {
    mounted() {
    console.log(this.$refs.myDiv);
    //DOM elemanına erişim sağlar
    }
    }
    </script>
  2. Bileşenlere Erişim: Başka bir bileşene ref attribute'u ekleyerek, o bileşenin örneklemesine (instance) ve onun metodlarına, verilerine erişim sağlayabilirsiniz.

                    
    javascript
    <ChildComponent ref="myComponent" />
    <script>
    export default {
    methods: {
    doSomething() {
    this.$refs.myComponent.someMethod();
    // ChildComponent üzerinde bir metodu çağırır
    }
    }
    }
    </script>

Önemli Noktalar:

  1. $refs Vue örneğinde bir objedir ve ref ile belirlenen elemanlara erişim sağlar. Ancak, bu özellikler reaktif değildir. Yani $refs üzerinde yapılan değişiklikler Vue'nun reaktif sistemine dahil edilmez ve değişiklikleri izlemez.
  2. ref, bileşenin ya da DOM elemanının oluşturulduğu anda atanır ve mounted ömrü boyunca erişilebilir olur. beforeMount aşamasında $refs içeriği boştur.
  3. Dinamik olarak çok sayıda eleman oluşturuyorsanız (örneğin, v-for ile), her bir elemana benzersiz bir ref atamak yerine, aynı ref ismini kullanarak bir array oluşturabilirsiniz. Vue, her bir eleman için bu array'a bir referans ekleyecektir.

Vue.js'te ref kullanımı, özellikle DOM'a doğrudan müdahale gerektiğinde veya çocuk bileşenlerin metodlarını çağırmak gibi durumlarda oldukça yararlıdır. Ancak, Vue'nun reaktif sistemini ve veri akışını bozmamak için dikkatli kullanılmalıdır.

İLK SEN YORUM YAP

E-posta hesabınız yayımlanmayacak.*