ویژگی 'ref' ('ref' Attribute)
ویژگی ref در Vue مثل «برچسب نام» است. بنابراین هر عنصر را سریع پیدا می کنیم. سپس با شیء $refs به آن دسترسی می گیریم. این شبیه querySelector در جاوااسکریپت است، اما ساده تر داخل Vue.
تعریف و کاربرد ویژگی ref
ویژگی ref روی عناصر <template> قرار می گیرد. آنگاه همان نام در شیء $refs قابل دسترسی است. بنابراین می توانیم متن، مقدار یا استایل عنصر را تغییر دهیم.
نمونه: تغییر متن یک پاراگراف با $refs
<template>
<h1>Example</h1>
<button @click="changeVal">Change Text</button>
<p ref="pEl" id="pEl">This is the initial text</p>
</template>
<script>
export default {
methods: {
changeVal() {
this.$refs.pEl.innerHTML = "Hello!";
}
}
};
</script>
نکته: نام ref باید یکتا باشد. زیرا با نام تکراری، دسترسی سخت می شود.
ref در تکرار با v-for
اگر روی عناصر تکراری ref بگذاریم، در $refs به صورت آرایه ذخیره می شوند. سپس با ایندکس، هر کدام را می گیریم.
<ul>
<li v-for="x in liTexts" ref="liEl">{{ x }}</li>
</ul>
گام های سریع عملی
- روی عنصر، یک
refکوتاه بگذار. - در متد، از
this.$refs.nameاستفاده کن. - ویژگی دلخواه را تغییر بده؛ مثلاً
innerHTML.
هشدار: از ref برای هر کاری استفاده نکن. ابتدا سراغ «داده واکنشی» و «بایندینگ» برو. سپس اگر لازم بود، ref را به کار ببر.
جمع بندی سریع
refبرچسب نام برای عنصر است.$refsدسترسی مستقیم می دهد.- در
v-for، آرایه از$refsمی گیری. - اولویت با داده واکنشی است.
ادامه مرتبط: راهنمای ویژگی های توکار، ویژگی key، و ویژگی is. همچنین از همین صفحه به عنوان مرجع «ویژگی ref» استفاده کن.