پرش به مطلب اصلی

متغیر

در اپ‌ادیتور، متغیر یا Variable ابزاری برای ذخیره و استفاده از اطلاعات است؛ اطلاعاتی که ممکن است در طول اجرای اپلیکیشن تغییر کنند و روی رفتار، ظاهر یا منطق اپ تأثیر بگذارند.

به بیان ساده، متغیرها مانند حافظه منطقی اپلیکیشن عمل می‌کنند. هرجا لازم باشد یک مقدار، وضعیت، انتخاب یا اطلاعاتی در اپ حفظ شود، احتمالاً به متغیر نیاز دارید.

به کمک متغیرها می‌توانید اپلیکیشن‌هایی پویا، هوشمند و تعاملی بسازید؛ اپلیکیشن‌هایی که فقط یک رابط ثابت نیستند، بلکه بر اساس داده‌ها و رفتار کاربر واکنش نشان می‌دهند.

نکته

متغیرها حافظه منطقی اپلیکیشن هستند؛ هرجا لازم است وضعیت، انتخاب یا اطلاعاتی حفظ شود، احتمالاً به متغیر نیاز دارید.


نقش متغیر در اپلیکیشن

متغیرها یکی از پایه‌های اصلی منطق در اپلیکیشن هستند. آن‌ها اطلاعات را نگه می‌دارند تا اپ بتواند در زمان مناسب از آن اطلاعات استفاده کند.

مهم‌ترین کاربردهای متغیرها عبارت‌اند از:

  • ذخیره اطلاعات کاربر: مانند نام، شماره تماس، ایمیل یا تنظیمات شخصی.
  • نگهداری وضعیت‌های مختلف اپ: مانند وارد بودن کاربر، فعال بودن یک گزینه یا مرحله فعلی یک فرآیند.
  • تصمیم‌گیری در شرط‌ها: بررسی مقدار متغیر و اجرای منطق مناسب.
  • کنترل اجرای عملکردها: اجرای عملکردهای مختلف بر اساس مقدار ذخیره‌شده.
  • شخصی‌سازی تجربه کاربر: نمایش محتوا یا رفتار متفاوت برای کاربران مختلف.

بدون متغیر، اپلیکیشن معمولاً فقط یک رابط ثابت خواهد بود و امکان تصمیم‌گیری یا واکنش هوشمندانه به وضعیت‌های مختلف را نخواهد داشت.

پیشنهاد

قبل از ساخت متغیر، مشخص کنید قرار است چه نوع داده‌ای داخل آن ذخیره شود؛ متن، عدد، مقدار درست/نادرست یا اطلاعات موقت.


نمونه‌هایی از کاربرد متغیر

برای درک بهتر، چند نمونه رایج از استفاده متغیرها را در نظر بگیرید:

  • ذخیره نام کاربر و نمایش آن در صفحه پروفایل.
  • ذخیره وضعیت ورود کاربر و نمایش صفحه مناسب بر اساس آن.
  • نگهداری تعداد آیتم‌های سبد خرید.
  • ذخیره متن جستجوی واردشده توسط کاربر.
  • کنترل نمایش یا عدم نمایش یک بخش از صفحه.
  • ذخیره امتیاز، قیمت، درصد یا مقدار محاسبه‌شده.

مثلاً اگر متغیری با نام isLoggedIn داشته باشید، می‌توانید بر اساس مقدار آن تصمیم بگیرید که کاربر به صفحه اصلی منتقل شود یا ابتدا فرم ورود را مشاهده کند.


انواع متغیرها

در اپ‌ادیتور، متغیرها بر اساس نوع داده‌ای که نگهداری می‌کنند به چند دسته تقسیم می‌شوند. انتخاب نوع مناسب برای متغیر اهمیت زیادی دارد، چون نوع متغیر مشخص می‌کند چه مقداری می‌تواند داخل آن ذخیره شود و چگونه می‌توان از آن در شرط‌ها و عملکردها استفاده کرد.


متغیر متنی

متغیر متنی برای ذخیره متن استفاده می‌شود.

نمونه کاربردها:

  • نام کاربر
  • پیام‌ها
  • عنوان‌ها
  • آدرس‌ها
  • متن جستجو
  • توضیحات واردشده در فرم

مثال مفهومی:

userName = "Ali"

از متغیر متنی زمانی استفاده کنید که مقدار موردنظر شما شامل حروف، کلمات، جمله‌ها یا ترکیبی از متن و عدد باشد.


متغیر عدد صحیح

متغیر عدد صحیح برای ذخیره اعداد بدون اعشار استفاده می‌شود.

نمونه کاربردها:

  • سن
  • تعداد آیتم‌ها
  • امتیاز کاربر
  • شماره مرحله
  • تعداد کلیک‌ها

مثال مفهومی:

cartCount = 3

اگر مقدار شما عددی است و به بخش اعشاری نیاز ندارد، متغیر عدد صحیح انتخاب مناسبی است.


متغیر عدد اعشاری

متغیر عدد اعشاری برای ذخیره اعداد دارای اعشار استفاده می‌شود.

نمونه کاربردها:

  • قیمت‌ها
  • درصدها
  • نمرات دقیق
  • مقدارهای محاسباتی
  • امتیازهای میانگین

مثال مفهومی:

price = 12500.75

از این نوع متغیر زمانی استفاده کنید که مقدار شما ممکن است اعشاری باشد یا به دقت بیشتری نیاز داشته باشد.


متغیر بولی

متغیر بولی برای ذخیره مقدارهای درست یا نادرست استفاده می‌شود. این نوع متغیر معمولاً فقط دو حالت دارد:

  • درست / نادرست
  • فعال / غیرفعال
  • روشن / خاموش
  • وارد شده / وارد نشده

نمونه کاربردها:

  • وضعیت ورود کاربر
  • فعال بودن یک گزینه
  • نمایش یا عدم نمایش یک بخش
  • تأیید شدن یا نشدن یک مرحله

مثال مفهومی:

isLoggedIn = true

متغیرهای بولی برای استفاده در شرط‌ها بسیار کاربردی هستند.


نحوه ذخیره‌سازی متغیرها

متغیرها از نظر محل و مدت نگهداری اطلاعات نیز با هم تفاوت دارند. انتخاب نوع ذخیره‌سازی به این بستگی دارد که اطلاعات تا چه زمانی باید باقی بمانند.


متغیرهای موقت

متغیرهای موقت فقط در زمان اجرای فعلی اپلیکیشن معتبر هستند.

ویژگی‌ها:

  • فقط تا زمانی که اپ در حال اجرا است مقدار خود را نگه می‌دارند.
  • با بستن اپلیکیشن یا پایان اجرای فعلی، مقدار آن‌ها از بین می‌رود.
  • برای وضعیت‌های لحظه‌ای و کوتاه‌مدت مناسب هستند.

نمونه کاربردها:

  • وضعیت باز یا بسته بودن یک منو
  • متن موقت جستجو
  • مقدار انتخاب‌شده در یک صفحه
  • داده‌هایی که فقط در همان لحظه استفاده می‌شوند
اطلاع

برای اطلاعاتی که فقط در همان اجرای فعلی اپ لازم دارید، متغیر موقت انتخاب بهتری است و از ذخیره‌سازی غیرضروری جلوگیری می‌کند.


متغیرهای ذخیره‌شده در دستگاه

این نوع متغیرها در حافظه دستگاه ذخیره می‌شوند و پس از بسته شدن و باز شدن دوباره اپلیکیشن همچنان در دسترس خواهند بود.

ویژگی‌ها:

  • مقدار آن‌ها روی دستگاه کاربر ذخیره می‌شود.
  • پس از بستن و باز کردن اپلیکیشن از بین نمی‌روند.
  • برای اطلاعات پایدار و تنظیمات کاربر مناسب هستند.

نمونه کاربردها:

  • وضعیت ورود کاربر
  • تنظیمات اپلیکیشن
  • انتخاب زبان یا حالت نمایش
  • اطلاعاتی که کاربر باید در اجرای بعدی اپ نیز داشته باشد
هشدار

برای اطلاعات حساس، فقط ذخیره شدن روی دستگاه کافی نیست. همیشه به امنیت داده، سطح دسترسی کاربران و نوع اطلاعات ذخیره‌شده توجه کنید.


ذخیره‌سازی آنلاین

امکان ذخیره متغیرها به‌صورت آنلاین در برنامه توسعه اپ‌ادیتور قرار دارد و در آینده برای همگام‌سازی اطلاعات بین دستگاه‌ها قابل استفاده خواهد بود.

ذخیره‌سازی آنلاین می‌تواند برای سناریوهایی مانند موارد زیر مفید باشد:

  • دسترسی کاربر به داده‌ها در چند دستگاه مختلف.
  • نگهداری اطلاعات در حساب کاربری.
  • همگام‌سازی تنظیمات یا وضعیت‌ها بین نسخه‌های مختلف اپ.
  • ذخیره اطلاعاتی که نباید فقط محدود به یک دستگاه باشند.

نحوه ایجاد متغیر

متغیر توسط عملکرد ایجاد متغیر ابتدا باید ایجاد شود. محل مناسب برای ایجاد متغیر در رویداد باز شدن صفحه اصلی یا رویداد باز شدن اپ است. توسط عملکرد اجرای کد جاوااسکریپت هم متغیر قابل ایجاد شدن است.

متغیر و شرط

یکی از مهم‌ترین کاربردهای متغیرها، استفاده از آن‌ها در شرط‌ها است.

شرط‌ها معمولاً مقدار متغیرها را بررسی می‌کنند و بر اساس نتیجه، اجازه اجرای یک رفتار یا نمایش یک بخش را می‌دهند.

مثال‌های مفهومی:

  • اگر کاربر وارد شده بود، صفحه اصلی نمایش داده شود.
  • اگر تعداد آیتم‌های سبد خرید بیشتر از صفر بود، دکمه پرداخت فعال شود.
  • اگر وضعیت اینترنت قطع بود، پیام خطا نمایش داده شود.
  • اگر مقدار امتیاز بیشتر از عدد مشخصی بود، یک جایزه نمایش داده شود.

نمونه جریان منطقی:

اگر isLoggedIn برابر true بود
← کاربر به صفحه داشبورد منتقل شود

در غیر این صورت
← صفحه ورود نمایش داده شود

در این ساختار، متغیر داده را نگه می‌دارد و شرط بر اساس آن تصمیم می‌گیرد.


متغیر و عملکرد

متغیرها در کنار عملکردها نقش بسیار مهمی دارند. عملکردها می‌توانند مقدار متغیرها را تغییر دهند، از آن‌ها استفاده کنند یا بر اساس مقدارشان رفتار خاصی انجام دهند.

متغیرها می‌توانند:

  • مقداردهی شوند.
  • تغییر کنند.
  • خوانده شوند.
  • در اجرای عملکردها استفاده شوند.
  • نتیجه یک عملیات را ذخیره کنند.

مثال‌ها:

  • پس از کلیک روی یک دکمه، مقدار یک متغیر تغییر کند.
  • پس از ارسال فرم، وضعیت formSubmitted برابر true شود.
  • پس از افزایش امتیاز، مقدار متغیر score تغییر کند.
  • پس از انتخاب یک گزینه، مقدار انتخاب‌شده در متغیر ذخیره شود.

نمونه جریان:

رویداد: کلیک روی دکمه افزودن به سبد خرید
عملکرد: افزایش مقدار متغیر cartCount
نتیجه: تعداد سبد خرید در صفحه به‌روزرسانی می‌شود

به این ترتیب، متغیرها باعث می‌شوند رفتار اپلیکیشن بر اساس تعامل کاربر تغییر کند.


متغیر و رویداد

رویدادها لحظه شروع یک واکنش در اپلیکیشن هستند؛ مانند کلیک کاربر، بارگذاری صفحه یا تغییر مقدار یک ورودی.

در بسیاری از موارد، یک رویداد باعث تغییر مقدار یک متغیر می‌شود.

مثال‌ها:

  • با باز شدن صفحه، مقدار اولیه یک متغیر تنظیم شود.
  • با کلیک روی دکمه، مقدار شمارنده افزایش پیدا کند.
  • با تغییر متن ورودی، مقدار متغیر جستجو به‌روزرسانی شود.
  • با تغییر وضعیت اتصال اینترنت، مقدار یک متغیر وضعیت تغییر کند.

الگوی رایج:

رویداد ← عملکرد ← تغییر متغیر ← بررسی شرط ← تغییر رفتار اپ

این ارتباط میان رویداد، عملکرد، متغیر و شرط، پایه بسیاری از منطق‌های تعاملی در اپلیکیشن است.


متغیر و رابط کاربری

متغیرها می‌توانند روی ظاهر و رفتار ویجت‌ها اثر بگذارند.
برای مثال، می‌توانید مقدار یک متغیر را با ویجت نمایشگر متغیر نمایش دهید یا در برخی ویجت‌ها مقدار آن را با قالب {{varname}} داخل متن، لینک یا آدرس قرار دهید.

همچنین متغیرها می‌توانند به فیلدهای ورودی متصل شوند. در این حالت، داده‌ای که کاربر وارد یا انتخاب می‌کند در متغیر ذخیره می‌شود و همان مقدار می‌تواند در شرط‌ها، عملکردها، لینک‌ها یا سایر بخش‌های رابط کاربری استفاده شود.

این قابلیت باعث می‌شود رابط کاربری اپلیکیشن فقط نمایش‌دهنده نباشد، بلکه داده دریافت کند، آن را نگه دارد و بر اساس آن رفتارهای پویا ایجاد کند.

نمونه‌ها:

  • نمایش نام کاربر در یک متن.
  • نمایش تعداد محصولات سبد خرید روی یک نشانگر.
  • مخفی کردن دکمه پرداخت تا زمانی که سبد خرید خالی است.
  • نمایش پیام «هیچ موردی یافت نشد» وقتی تعداد نتایج صفر است.
  • تغییر محتوای صفحه بر اساس انتخاب کاربر.

مثال مفهومی:

اگر cartCount برابر 0 بود
← پیام «سبد خرید شما خالی است» نمایش داده شود

اگر cartCount بیشتر از 0 بود
← دکمه پرداخت نمایش داده شود

نمایش مقدار متغیرها

پس از ایجاد و مقداردهی متغیرها، معمولاً لازم است مقدار آن‌ها در رابط کاربری نمایش داده شود یا در بخش‌های مختلف اپلیکیشن استفاده شود.

در اپ‌ادیتور، مقدار متغیرها به دو روش اصلی قابل استفاده و نمایش است:

  1. نمایش مستقیم با ویجت نمایشگر متغیر
  2. استفاده داخل برخی ویجت‌ها و لینک‌ها با قالب {{varname}}

نمایش با ویجت نمایشگر متغیر

برای نمایش مستقیم مقدار یک متغیر در صفحه، می‌توانید از ویجت نمایشگر متغیر استفاده کنید.

این ویجت مخصوص نمایش مقدار متغیر است و هر زمان مقدار متغیر تغییر کند، مقدار نمایش‌داده‌شده نیز می‌تواند بر اساس آن به‌روزرسانی شود.

نمونه کاربردها:

  • نمایش نام کاربر
  • نمایش تعداد آیتم‌های سبد خرید
  • نمایش امتیاز کاربر
  • نمایش قیمت محاسبه‌شده
  • نمایش وضعیت یک مقدار ذخیره‌شده

مثال مفهومی:

متغیر:
userName = "Ali"

نمایش در ویجت نمایشگر متغیر: Ali

یا:

متغیر:
cartCount = 3

نمایش در صفحه: 3

از ویجت نمایشگر متغیر زمانی استفاده کنید که هدف شما فقط نمایش مقدار یک متغیر در رابط کاربری باشد.


استفاده از متغیر داخل متن با قالب {{varname}}

در برخی ویجت‌ها، می‌توانید مقدار متغیر را داخل متن یا لینک قرار دهید. برای این کار از قالب زیر استفاده می‌شود:

{{varname}}

در این ساختار، varname نام متغیر است. هنگام اجرای اپلیکیشن، این عبارت با مقدار واقعی متغیر جایگزین می‌شود.

مثال:

سلام {{userName}}

اگر مقدار متغیر userName برابر Ali باشد، خروجی به شکل زیر نمایش داده می‌شود:

سلام Ali

این روش زمانی کاربرد دارد که بخواهید مقدار متغیر را در کنار متن‌های دیگر قرار دهید.


ویجت‌هایی که می‌توانند از {{varname}} استفاده کنند

در اپ‌ادیتور، برخی ویجت‌ها و بخش‌ها می‌توانند مقدار متغیر را با قالب {{varname}} دریافت کنند.

نمونه‌های رایج:

  • ویجت متن
  • ویجت دکمه
  • ویجت لینک
  • ویجت نمایشگر وب یا وب ویو
  • لینک در عملکرد باز کردن لینک
اطلاع

در هر بخشی که از قالب {{varname}} پشتیبانی شود، مقدار متغیر به‌صورت خودکار جایگزین نام متغیر می‌شود.


استفاده در ویجت متن

در ویجت متن، می‌توانید مقدار متغیر را همراه با متن ثابت نمایش دهید.

مثال:

نام کاربر: {{userName}}

اگر مقدار userName برابر Sara باشد، خروجی چنین خواهد بود:

نام کاربر: Sara

مثال دیگر:

تعداد محصولات سبد خرید: {{cartCount}}

اگر مقدار cartCount برابر 5 باشد:

تعداد محصولات سبد خرید: 5

استفاده در دکمه

در ویجت دکمه نیز می‌توانید از مقدار متغیر در متن دکمه استفاده کنید.

مثال:

خرید {{productName}}

اگر مقدار productName برابر اشتراک ویژه باشد، متن دکمه به شکل زیر نمایش داده می‌شود:

خرید اشتراک ویژه

این روش برای ساخت دکمه‌های پویا بسیار کاربردی است؛ دکمه‌هایی که متن آن‌ها بر اساس مقدار متغیر تغییر می‌کند.


استفاده در لینک

در ویجت لینک یا در بخش‌هایی که آدرس لینک دریافت می‌کنند، می‌توانید مقدار متغیر را داخل آدرس قرار دهید.

مثال:

https://example.com/users/{{userId}}

اگر مقدار userId برابر 25 باشد، لینک نهایی به شکل زیر خواهد بود:

https://example.com/users/25

این روش برای ساخت لینک‌های پویا مناسب است؛ مثلاً لینک پروفایل کاربر، لینک محصول، لینک پرداخت یا لینک جزئیات یک آیتم.


استفاده در نمایشگر وب یا وب ویو

در ویجت نمایشگر وب یا WebView نیز می‌توانید آدرس را بر اساس مقدار متغیر بسازید.

مثال:

https://example.com/search?q={{searchText}}

اگر مقدار searchText برابر mobile باشد، آدرس نهایی چنین می‌شود:

https://example.com/search?q=mobile

به این ترتیب می‌توانید صفحه وبی را نمایش دهید که بر اساس مقدار واردشده یا انتخاب‌شده توسط کاربر تغییر می‌کند.

نمونه کاربردها:

  • نمایش نتیجه جستجو در وب ویو
  • باز کردن صفحه محصول با شناسه ذخیره‌شده در متغیر
  • نمایش صفحه پروفایل کاربر
  • باز کردن لینک اختصاصی برای هر کاربر

استفاده در عملکرد باز کردن لینک

در عملکرد باز کردن لینک نیز می‌توانید از مقدار متغیر در آدرس استفاده کنید.

مثال:

https://example.com/invoice/{{invoiceId}}

اگر مقدار invoiceId برابر A1025 باشد، هنگام اجرای عملکرد، لینک زیر باز می‌شود:

https://example.com/invoice/A1025

این قابلیت برای سناریوهای زیر مفید است:

  • باز کردن فاکتور اختصاصی کاربر
  • باز کردن صفحه محصول انتخاب‌شده
  • هدایت کاربر به لینک مخصوص خودش
  • ارسال مقدار جستجو یا شناسه در آدرس
  • ساخت لینک‌های داینامیک بر اساس وضعیت اپ

ترکیب چند متغیر در یک متن یا لینک

می‌توانید چند متغیر را نیز در یک متن یا لینک استفاده کنید.

مثال در متن:

سلام {{userName}}، امتیاز شما {{score}} است.

اگر مقدارها چنین باشند:

userName = "Ali"
score = 120

خروجی:

سلام Ali، امتیاز شما 120 است.

مثال در لینک:

https://example.com/order/{{userId}}/{{orderId}}

اگر مقدارها چنین باشند:

userId = 25
orderId = 893

لینک نهایی:

https://example.com/order/25/893

نکات مهم هنگام استفاده از {{varname}}

هنگام استفاده از متغیرها با قالب {{varname}} به نکات زیر توجه کنید:

  • نام متغیر باید دقیقاً درست نوشته شود.
  • حروف بزرگ و کوچک در نام متغیرها می‌تواند مهم باشد.
  • اگر متغیر مقدار نداشته باشد، ممکن است خروجی خالی یا ناقص نمایش داده شود.
  • برای لینک‌ها، مطمئن شوید مقدار متغیر باعث خراب شدن ساختار آدرس نمی‌شود.
  • اگر مقدار متغیر شامل فاصله یا کاراکترهای خاص باشد، ممکن است در لینک‌ها نیاز به مدیریت مناسب داشته باشد.
  • بهتر است قبل از استفاده در لینک‌های مهم، مقدار متغیر را تست کنید.
  • از نام‌های واضح مانند userId، productId، searchText و invoiceId استفاده کنید.
هشدار

اگر از متغیرها در لینک استفاده می‌کنید، مطمئن شوید مقدار متغیر معتبر است. مقدار اشتباه یا خالی می‌تواند باعث باز شدن لینک نادرست یا ناقص شود.


تفاوت ویجت نمایشگر متغیر و قالب {{varname}}

هر دو روش برای استفاده از مقدار متغیر هستند، اما کاربرد آن‌ها کمی متفاوت است.

روشکاربرد
ویجت نمایشگر متغیرنمایش مستقیم مقدار یک متغیر
قالب {{varname}}استفاده از مقدار متغیر داخل متن، دکمه، لینک، وب ویو یا عملکرد باز کردن لینک

اگر فقط می‌خواهید مقدار یک متغیر را به‌تنهایی نمایش دهید، ویجت نمایشگر متغیر انتخاب ساده‌تری است.

اما اگر می‌خواهید مقدار متغیر را داخل یک جمله، متن دکمه یا آدرس لینک ترکیب کنید، بهتر است از قالب {{varname}} استفاده کنید.

مثال:

{{userName}}

برای نمایش مستقیم نام کاربر مناسب است.

اما:

سلام {{userName}}، خوش آمدید.

برای ترکیب مقدار متغیر با متن ثابت مناسب‌تر است.


اتصال متغیر به فیلدهای ورودی

متغیرها فقط برای نمایش اطلاعات نیستند، بلکه می‌توانند به فیلدهای ورودی نیز متصل شوند.
وقتی یک متغیر به فیلد ورودی متصل می‌شود، مقدار آن متغیر به داده‌ی همان فیلد وابسته خواهد بود.

به بیان ساده، هر تغییری که کاربر در فیلد ورودی انجام دهد، می‌تواند در مقدار متغیر نیز منعکس شود. این روش یکی از رایج‌ترین راه‌ها برای دریافت داده از کاربر و استفاده از آن در منطق اپلیکیشن است.

نکته

با اتصال متغیر به فیلد ورودی، داده‌ای که کاربر وارد یا انتخاب می‌کند مستقیماً در متغیر قابل استفاده خواهد بود.


فیلدهای ورودی قابل اتصال به متغیر

متغیرها می‌توانند به انواع مختلفی از فیلدهای ورودی متصل شوند، از جمله:

  • فیلد تکست
  • فیلد کمبو
  • فیلد چک‌باکس
  • فیلد رادیو

هرکدام از این فیلدها نوع خاصی از داده را از کاربر دریافت می‌کنند و مقدار آن را در متغیر قرار می‌دهند.


اتصال به فیلد تکست

در فیلد تکست، کاربر یک مقدار متنی یا عددی وارد می‌کند و متغیر متصل به آن، همان مقدار را نگه می‌دارد.

نمونه کاربردها:

  • نام کاربر
  • شماره تماس
  • ایمیل
  • متن جستجو
  • کد تخفیف
  • توضیحات فرم

مثال مفهومی:

فیلد ورودی نام

متغیر: userName

کاربر وارد می‌کند: Ali

مقدار متغیر userName = "Ali"

در این حالت، هرجا در اپ به مقدار userName نیاز داشته باشید، می‌توانید از داده‌ای که کاربر وارد کرده استفاده کنید.

مثلاً:

سلام {{userName}}

اگر کاربر نام Ali را وارد کرده باشد، خروجی چنین خواهد بود:

سلام Ali

اتصال به فیلد کمبو

در فیلد کمبو، کاربر یک گزینه را از بین چند گزینه انتخاب می‌کند و مقدار انتخاب‌شده در متغیر ذخیره می‌شود.

نمونه کاربردها:

  • انتخاب شهر
  • انتخاب دسته‌بندی
  • انتخاب نوع حساب
  • انتخاب سطح دسترسی
  • انتخاب زبان

مثال مفهومی:

فیلد کمبو: شهر
گزینه‌ها: تهران، مشهد، شیراز

متغیر: selectedCity

کاربر انتخاب می‌کند: مشهد

مقدار متغیر selectedCity = "مشهد"

پس از آن می‌توان از مقدار متغیر در متن، شرط یا عملکرد استفاده کرد.

مثال:

شهر انتخاب‌شده: {{selectedCity}}

اتصال به چک‌باکس

در چک‌باکس، معمولاً مقدار متغیر نشان می‌دهد که گزینه فعال است یا غیرفعال.
به همین دلیل، این نوع اتصال معمولاً با متغیرهای بولی بسیار سازگار است.

نمونه کاربردها:

  • پذیرش قوانین
  • فعال کردن دریافت اعلان
  • انتخاب یک گزینه اختیاری
  • روشن یا خاموش بودن یک قابلیت

مثال مفهومی:

چک‌باکس: قوانین را می‌پذیرم

متغیر: acceptedRules

اگر چک‌باکس فعال باشد:
acceptedRules = true

اگر چک‌باکس غیرفعال باشد:
acceptedRules = false

این متغیر می‌تواند در شرط‌ها بسیار کاربردی باشد.

مثال:

اگر acceptedRules برابر true بود
← دکمه ثبت فعال شود

اتصال به رادیو

در رادیو، کاربر معمولاً فقط یک گزینه را از بین چند انتخاب مشخص انتخاب می‌کند و مقدار آن در متغیر ذخیره می‌شود.

نمونه کاربردها:

  • انتخاب جنسیت
  • انتخاب روش ارسال
  • انتخاب نوع پرداخت
  • انتخاب پلن اشتراک
  • انتخاب وضعیت کاربر

مثال مفهومی:

فیلد رادیو: روش پرداخت
گزینه‌ها: نقدی، کارت، آنلاین

متغیر: paymentMethod

کاربر انتخاب می‌کند: آنلاین

مقدار متغیر paymentMethod = "آنلاین"

حالا می‌توانید از این متغیر برای تصمیم‌گیری یا نمایش اطلاعات استفاده کنید.

مثال:

روش پرداخت انتخاب‌شده: {{paymentMethod}}

چرا اتصال متغیر به ورودی مهم است؟

اتصال متغیر به فیلدهای ورودی باعث می‌شود داده‌های واردشده توسط کاربر فقط داخل همان فیلد نمانند، بلکه وارد منطق اپلیکیشن شوند و در بخش‌های مختلف قابل استفاده باشند.

به کمک این اتصال می‌توانید:

  • اطلاعات فرم را ذخیره کنید.
  • مقدار واردشده توسط کاربر را در جای دیگر نمایش دهید.
  • بر اساس انتخاب کاربر شرط‌گذاری کنید.
  • لینک‌های پویا بسازید.
  • داده‌های لازم را به عملکردها بدهید.
  • تجربه کاربری تعاملی‌تری ایجاد کنید.

استفاده از متغیرهای متصل به ورودی در بخش‌های مختلف اپ

بعد از اینکه متغیر به فیلد ورودی متصل شد، می‌توان از مقدار آن در بخش‌های مختلف استفاده کرد:

  • در ویجت نمایشگر متغیر
  • در متن‌ها با قالب {{varname}}
  • در دکمه‌ها
  • در لینک‌ها
  • در وب ویو
  • در شرط‌ها
  • در عملکردها

مثال:

فیلد جستجو

متغیر: searchText

کاربر وارد می‌کند: mobile

حالا می‌توان از این متغیر در آدرس وب ویو استفاده کرد:

https://example.com/search?q={{searchText}}

خروجی نهایی:

https://example.com/search?q=mobile

ارتباط فیلد ورودی و متغیر در فرم‌ها

در فرم‌ها، معمولاً هر فیلد ورودی به یک متغیر متصل می‌شود تا داده‌های فرم قابل مدیریت باشند.

مثال مفهومی:

فیلد نام ← userName
فیلد ایمیل ← email
فیلد شهر ← selectedCity
چک‌باکس پذیرش قوانین ← acceptedRules

در این حالت، هنگام ارسال فرم، اپلیکیشن می‌تواند مقدار هر متغیر را بخواند و بر اساس آن عملیات لازم را انجام دهد.


نکات مهم در اتصال متغیر به فیلد ورودی

هنگام اتصال متغیرها به فیلدهای ورودی، به نکات زیر توجه کنید:

  • نوع متغیر باید با نوع داده‌ی فیلد هماهنگ باشد.
  • برای فیلدهای متنی از متغیر متنی استفاده کنید.
  • برای چک‌باکس معمولاً متغیر بولی مناسب‌تر است.
  • نام متغیر باید مشخص و مرتبط با همان فیلد باشد.
  • اگر یک فیلد اجباری است، قبل از استفاده از مقدار متغیر، خالی نبودن آن را بررسی کنید.
  • اگر مقدار متغیر در لینک یا شرط استفاده می‌شود، معتبر بودن آن را تست کنید.
  • بهتر است برای هر فیلد مهم، مقدار اولیه یا رفتار پیش‌فرض مشخص باشد.

نمونه نام‌گذاری مناسب:

userName
email
selectedCity
acceptedRules
paymentMethod
searchText
مهم

وقتی متغیر به فیلد ورودی متصل می‌شود، آن متغیر به یکی از اصلی‌ترین منابع داده در اپ تبدیل می‌شود؛ بنابراین نوع، نام و اعتبار مقدار آن اهمیت زیادی دارد.


متغیرهای سیستمی

در اپ‌ادیتور، علاوه بر متغیرهایی که خودتان ایجاد می‌کنید، متغیرهای سیستمی نیز وجود دارند.

متغیرهای سیستمی به‌صورت خودکار توسط سیستم ایجاد می‌شوند و معمولاً فقط خواندنی هستند؛ یعنی می‌توانید از مقدار آن‌ها استفاده کنید، اما مقدارشان را مستقیماً تغییر نمی‌دهید.

این متغیرها می‌توانند شامل اطلاعاتی مانند موارد زیر باشند:

  • اطلاعات کاربر
  • اطلاعات دستگاه
  • زمان و تاریخ
  • وضعیت‌های مرتبط با سیستم
  • سایر داده‌های آماده و قابل استفاده در اپ

برای مشاهده فهرست کامل، به صفحه زیر مراجعه کنید:

اطلاع

متغیرهای سیستمی برای دسترسی سریع به اطلاعات آماده بسیار مفید هستند و می‌توانند در شرط‌ها، عملکردها و نمایش داده‌ها استفاده شوند.


نکات مهم درباره متغیرها

برای استفاده بهتر از متغیرها، به نکات زیر توجه کنید:

  • نام‌گذاری واضح داشته باشید: نام متغیر باید کاربرد آن را مشخص کند.
  • نوع مناسب انتخاب کنید: نوع متغیر باید با داده‌ای که ذخیره می‌شود هماهنگ باشد.
  • از ایجاد متغیرهای غیرضروری خودداری کنید: استفاده بیش از حد از متغیرها مدیریت اپ را سخت می‌کند.
    • برای نمایش مستقیم مقدار متغیر از ویجت نمایشگر متغیر استفاده کنید.
  • برای ترکیب مقدار متغیر با متن یا لینک، از قالب {{varname}} استفاده کنید.
  • هنگام استفاده از متغیر در لینک‌ها، خالی نبودن و معتبر بودن مقدار متغیر را بررسی کنید.
  • مقدار اولیه را فراموش نکنید: اگر متغیر بدون مقدار اولیه استفاده شود، ممکن است منطق اپ درست کار نکند.
  • حالت‌های مختلف را تست کنید: متغیرها را با مقدارهای مختلف بررسی کنید.
  • برای داده‌های حساس دقت بیشتری داشته باشید: مخصوصاً اگر اطلاعات روی دستگاه ذخیره می‌شود.
  • نام‌ها را قابل فهم انتخاب کنید: متغیرهایی مثل isLoggedIn یا cartCount بسیار واضح‌تر از var1 و data2 هستند.
مهم

نام متغیر را طوری انتخاب کنید که کاربرد آن از روی نام مشخص باشد؛ مثلاً isLoggedIn از نام‌های مبهمی مثل var1 قابل فهم‌تر است.


نمونه نام‌گذاری مناسب

نام‌گذاری درست متغیرها باعث می‌شود پروژه شما خواناتر، قابل نگهداری‌تر و قابل توسعه‌تر باشد.

نمونه‌های مناسب:

userName
isLoggedIn
cartCount
totalPrice
selectedCategory
searchText
hasInternetConnection

نمونه‌های نامناسب:

var1
x
data
temp2
value

نام‌های مبهم در پروژه‌های کوچک شاید مشکل زیادی ایجاد نکنند، اما در پروژه‌های بزرگ باعث سردرگمی و خطا می‌شوند.


بهترین تجربیات

برای مدیریت بهتر متغیرها در پروژه، این پیشنهادها را در نظر بگیرید:

  • قبل از ساخت متغیر، هدف آن را مشخص کنید.
  • برای وضعیت‌های دوحالته از متغیر بولی استفاده کنید.
  • برای مقدارهای شمارشی از عدد صحیح استفاده کنید.
  • برای قیمت‌ها، درصدها و عددهای دقیق از عدد اعشاری استفاده کنید.
  • برای متن‌های قابل نمایش یا ورودی‌های کاربر از متغیر متنی استفاده کنید.
  • اگر داده فقط موقتاً لازم است، آن را در متغیر موقت ذخیره کنید.
  • اگر داده باید پس از بستن اپ باقی بماند، از متغیر ذخیره‌شده در دستگاه استفاده کنید.
  • متغیرهای مهم را با نام‌های استاندارد و قابل فهم تعریف کنید.
  • منطق وابسته به متغیرها را در حالت‌های مختلف تست کنید.

جمع‌بندی

متغیرها پایه اصلی ذخیره‌سازی و تصمیم‌گیری در اپلیکیشن هستند. با استفاده از آن‌ها می‌توانید اطلاعات را نگه دارید، وضعیت اپ را کنترل کنید و تجربه کاربری پویا و هوشمند بسازید.

در یک نگاه:

  • متغیر برای ذخیره و استفاده از اطلاعات است.
  • متغیرها می‌توانند متنی، عدد صحیح، عدد اعشاری یا بولی باشند.
  • متغیرها ممکن است موقت باشند یا روی دستگاه ذخیره شوند.
  • شرط‌ها معمولاً بر اساس مقدار متغیرها تصمیم‌گیری می‌کنند.
  • عملکردها می‌توانند مقدار متغیرها را تغییر دهند یا از آن‌ها استفاده کنند.
  • متغیرهای سیستمی اطلاعات آماده و فقط‌خواندنی سیستم را در اختیار شما قرار می‌دهند.

پیشنهاد برای مطالعه بعدی: