دسته : آموزش رایگان Vue.js
Vue.js یکی از محبوبترین فریمورکهای جاوا اسکریپت برای ساخت اپلیکیشنهای تعاملی و پویاست. در Vue.js، دو مفهوم Template و دیتابایندینگ (Data Binding)، نقشی کلیدی در مدیریت دادهها و رندرینگ پویا دارند. این مفاهیم به شما کمک میکنند تا دادههای خود را به سادگی به رابط کاربری متصل کنید و در نتیجه اپلیکیشنهایی بسازید که به تغییرات دادهها واکنش نشان دهند. در این مقاله، به معرفی Template و Data Binding در Vue.js میپردازیم و نحوه مدیریت دادهها و رندرینگ پویا را بررسی میکنیم.
آشنایی با Template و نحوه استفاده از آن در Vue.js
معرفی دیتابایندینگ (Data Binding) در Vue.js
نحوه مدیریت دادهها و نمایش پویا در Vue.js
بررسی انواع بایندینگها و استفاده کاربردی از آنها
در Vue.js، Template یا قالب، قسمتی از کد است که ساختار رابط کاربری (UI) شما را مشخص میکند. این قالب به صورت HTML نوشته میشود، اما قابلیت استفاده از دستورات Vue.js مانند {{ }} برای رندر کردن دادهها و دستورهای شرطی و تکراری را نیز دارد. در Vue.js، قالبها با دادهها و بایندینگها ترکیب میشوند تا بتوانید دادهها را به سادگی در UI نمایش دهید و رابط کاربری را به صورت پویا تغییر دهید.
< div id="app" >
< h1 > {{ message }} < / h1 >
< / div >
در این مثال، متغیر message در قالب با استفاده از {{ }} نمایش داده میشود و هر زمان که مقدار آن تغییر کند، به صورت خودکار در UI بهروزرسانی میشود.
یکی از ویژگیهای برجسته Vue.js دیتابایندینگ (Data Binding) است که به شما این امکان را میدهد تا دادههای خود را به عناصر رابط کاربری متصل کنید. Vue.js دو نوع دیتابایندینگ اصلی ارائه میدهد:
بایندینگ یکطرفه (One-Way Binding): دادهها تنها از بخش مدل به UI منتقل میشوند.
بایندینگ دوطرفه (Two-Way Binding): دادهها بین مدل و UI همگامسازی میشوند، به طوری که هر تغییری در UI به دادهها منتقل میشود و برعکس.
بایندینگ یکطرفه در Vue.js به شما امکان میدهد تا دادهها را به صورت مستقیم در قالب نمایش دهید. از {{ }} برای نمایش دادهها در قالب استفاده میشود. این روش، به خصوص برای نمایش دادههایی که تنها خواندنی هستند، مفید است.
مثال:
< div id="app" >
< h1 > {{ message }} < / h1 >
< / div >
< script >
new Vue({
el: '#app',
data: {
message: 'سلام به Vue.js'
}
});
< / script >
در این مثال، مقدار message در قالب نمایش داده میشود. هر تغییری که در message انجام شود، به صورت خودکار در رابط کاربری بهروزرسانی خواهد شد.
برای همگامسازی دادهها بین رابط کاربری و مدل، از v-model استفاده میشود. این بایندینگ به خصوص برای ورودیهای کاربر مانند فیلدهای متنی و چکباکسها مفید است، زیرا به شما امکان میدهد تا تغییرات در ورودیهای کاربر را مستقیماً در دادههای Vue.js ذخیره کنید.
مثال:
< div id="app" >
< input v-model="message" placeholder="متن خود را وارد کنید" >
< p > شما نوشتید: {{ message }} < / p >
< / div >
< script >
new Vue({
el: '#app',
data: {
message: ''
}
});
< / script >
در این مثال، v-model داده message را با ورودی همگام میکند. هر تغییری که کاربر در فیلد ورودی ایجاد کند، به صورت خودکار در message ذخیره و در قالب نمایش داده میشود.
در Vue.js، چند دستور خاص برای مدیریت نمایش و تکرار عناصر در قالب وجود دارد که از آنها برای ساختاردهی و تغییر پویا در UI استفاده میشود:
برای نمایش یا عدم نمایش یک المان بر اساس شرایط مشخصی، میتوان از v-if یا v-show استفاده کرد.
v-if: المان را تنها در صورتی در DOM قرار میدهد که شرط آن برقرار باشد.
v-show: المان را در DOM قرار میدهد اما نمایش آن را با display: none کنترل میکند.
مثال:
< div id="app" >
< button @click="toggleVisibility" > نمایش/عدم نمایش پیام < / button >
< p v-if="isVisible">پیام نمایش داده شده است! < / p >
< / div >
< script >
new Vue({
el: '#app',
data: {
isVisible: true
},
methods: {
toggleVisibility() {
this.isVisible = !this.isVisible;
}
}
});
< / script >
در این مثال، با کلیک روی دکمه، مقدار isVisible تغییر میکند و بر اساس مقدار آن، پاراگراف نمایش داده میشود یا پنهان میشود.
برای نمایش لیستی از عناصر، از دستور v-for استفاده میشود. این دستور مشابه حلقه در زبانهای برنامهنویسی است و به شما امکان میدهد که یک المان را بر اساس دادههای تکراری مانند آرایهها، چند بار نمایش دهید.
مثال:
< div id="app" >
< ul >
< li v-for="item in items" :key="item.id" > {{ item.text }} < / li >
< / ul >
< / div >
< script >
new Vue({
el: '#app',
data: {
items: [
{ id: 1, text: 'آیتم اول' },
{ id: 2, text: 'آیتم دوم' },
{ id: 3, text: 'آیتم سوم' }
]
}
});
< / script >
در این مثال، v-for لیست items را پیمایش میکند و هر عنصر آرایه را به صورت یک آیتم در قالب نمایش میدهد.
در این مثال، اپلیکیشنی میسازیم که لیستی از وظایف (Todo List) را نمایش میدهد و کاربر میتواند وظیفه جدیدی اضافه کند.
قالب HTML:
< div id="app" >
< h1 > لیست وظایف < / h1 >
< input v-model="newTask" placeholder="یک وظیفه جدید وارد کنید" >
< button @click="addTask" > اضافه کردن وظیفه < / button >
< ul >
< li v-for="(task, index) in tasks" :key="index" >
{{ task }}
< button @click="removeTask(index)" > حذف < / button >
< / li >
< / ul >
< / div >
اسکریپت Vue:
new Vue({
el: '#app',
data: {
newTask: '',
tasks: []
},
methods: {
addTask() {
if (this.newTask) {
this.tasks.push(this.newTask);
this.newTask = '';
}
},
removeTask(index) {
this.tasks.splice(index, 1);
}
}
});
توضیحات کد:
newTask: وظیفه جدیدی که کاربر وارد میکند.
tasks: آرایهای از وظایف که به عنوان لیست اصلی وظایف نمایش داده میشود.
addTask: این متد وظیفه جدید را به لیست tasks اضافه میکند.
removeTask: این متد وظیفه مورد نظر را از لیست حذف میکند.
v-model: بایندینگ دوطرفه برای ورودی کاربر، که وظیفه جدید را به newTask متصل میکند.
v-for: نمایش لیست tasks در قالب، به طوری که هر آیتم در لیست به صورت جداگانه نمایش داده میشود.
Vue.js با استفاده از Template و دیتابایندینگ، ساخت و مدیریت رابطهای کاربری پویا و واکنشگرا را بهطور قابل توجهی ساده کرده است. بایندینگ دوطرفه و مدیریت نمایش شرطی از ویژگیهای کلیدی Vue.js هستند که به شما این امکان را میدهند که دادهها را به سرعت و با حداقل کدنویسی به UI متصل کنید. با استفاده از این مفاهیم و دستورات Vue.js، میتوانید اپلیکیشنهایی با رندرینگ پویا و قابلیتهای تعاملی بسازید و تجربه کاربری بهتری ارائه دهید.
نظری یافت نشد
آموزش جامع توابع در جاوا اسکریپت: نحوه تعریف، فراخوانی و بازگشت مقادیر
2م بهمن 1402
مطالعه بیشتر
مفاهیم Promise و چگونگی استفاده از آن در جاوا اسکریپت: راهنمای کامل همراه با مثالها
30م مهر 1403
مطالعه بیشتر
آموزش کامل کار با آرایهها و اشیاء در جاوا اسکریپت: ایجاد، دستکاری و پیمایش
2م شهریور 1403
مطالعه بیشتر
آموزش کامل ویژگی background در CSS: تنظیمات پسزمینه برای طراحی وب راهنمای جامع
5م شهریور 1402
مطالعه بیشتر
آموزش توسعه و مدیریت پروژههای بزرگ در جاوا اسکریپت: آشنایی با ابزارها و فریمورکهای کاربردی
4م آبان 1403
مطالعه بیشتر
نصب Vue.js و ایجاد پروژه ساده: آموزش گامبهگام راهاندازی Vue
28م شهریور 1402
مطالعه بیشتر
آموزش استفاده از تگهای تصویری در HTML: نمایش و مدیریت تصاویر در صفحات وب
29م مرداد 1402
مطالعه بیشتر
استفاده از Flexbox در CSS برای چیدمانهای مدرن: راهنمای جامع و کاربردی
10م آبان 1403
مطالعه بیشتر
آموزش ساخت یک Todo List با استفاده از DOM و جاوا اسکریپت: راهنمای گام به گام
3م آبان 1403
مطالعه بیشتر
کنترل زمانبندی و اندازهگیری دقیق انیمیشنها در CSS: آموزش جامع و اصول استاندارد
18م شهریور 1402
مطالعه بیشتر
آموزش ساخت ماشین حساب با جاوا اسکریپت: راهنمای کامل با مثالهای کاربردی
4م آبان 1403
مطالعه بیشتر
Async/Await: نوشتن کدهای خواناتر و ناهمزمان در جاوا اسکریپت - آموزش کامل با مثالها
30م مهر 1403
مطالعه بیشتر
تمامی حقوق معتلق به ناشر سایت است و کپی از آن پیگرد قانونی دارد