فهرست سرفصل‌های Vue
خانه (HOME) معرفی (Intro) دایرکتیوها (Directives) v-bind (v-bind) v-if (v-if) v-show (v-show) v-for (v-for) رویدادها (Events) v-on (v-on) متدها (Methods) تغییردهنده های رویداد (Event Modifiers) فرم ها (Forms) v-model (v-model) بایندینگ CSS (CSS Binding) ویژگی های محاسبه شده (Computed Properties) واچرها (Watchers) قالب ها (Templates) چرا، چگونه و راه اندازی (Why, How and Setup) اولین صفحه SFC (First SFC Page) کامپوننت ها (Components) پراپس (Props) کامپوننت های v-for (v-for Components) $emit() ($emit()) ویژگی های عبوری (Fallthrough) (Fallthrough Attributes) استایل Scoped (Scoped Styling) کامپوننت های محلی (Local Components) اسلات ها (Slots) v-slot (v-slot) اسلات های Scoped (Scoped Slots) کامپوننت های پویا (Dynamic Components) Teleport (Teleport) درخواست HTTP (HTTP Request) رفرنس های تمپلیت (Template Refs) هوک های چرخه عمر (Lifecycle Hooks) Provide/Inject (Provide/Inject) مسیریابی (Routing) ورودی های فرم (Form Inputs) انیمیشن ها (Animations) انیمیشن با v-for (Animations with v-for) بیلد (Build) Composition API (Composition API) ویژگی های توکار (Built-in Attributes) ویژگی 'is' ('is' Attribute) ویژگی 'key' ('key' Attribute) ویژگی 'ref' ('ref' Attribute) کامپوننت های توکار (Built-in Components) <KeepAlive> (<KeepAlive>) <Teleport> (<Teleport>) <Transition> (<Transition>) <TransitionGroup> (<TransitionGroup>) المان های توکار (Built-in Elements) <component> (<component>) <slot> (<slot>) <template> (<template>) نمونه کامپوننت (Component Instance) $attrs ($attrs) $data ($data) $el ($el) $parent ($parent) $props ($props) $refs ($refs) $root ($root) $slots ($slots) $emit() ($emit()) $forceUpdate() ($forceUpdate()) $nextTick() ($nextTick()) $watch() ($watch()) دایرکتیوها (Directives) v-bind (v-bind) v-cloak (v-cloak) v-for (v-for) v-html (v-html) v-if (v-if) v-else-if (v-else-if) v-else (v-else) v-memo (v-memo) v-model (v-model) v-on (v-on) v-once (v-once) v-pre (v-pre) v-show (v-show) v-slot (v-slot) v-text (v-text) گزینه های نمونه (Instance Options) داده ها (data) متدها (methods) محاسبه شده ها (computed) watch (watch) پراپس (props) emits (emits) expose (expose) هوک های چرخه عمر (Lifecycle Hooks) beforeCreate (beforeCreate) created (created) beforeMount (beforeMount) mounted (mounted) beforeUpdate (beforeUpdate) updated (updated) beforeUnmount (beforeUnmount) unmounted (unmounted) errorCaptured (errorCaptured) renderTracked (renderTracked) renderTriggered (renderTriggered) activated (activated) deactivated (deactivated) serverPrefetch (serverPrefetch) مثال ها (Examples) تمرین ها (Exercises) کوییز (Quiz) سیلابس (Syllabus) برنامه مطالعه (Study Plan) سرور (Server) گواهینامه (Certificate)
نتیجه‌ای برای جستجو یافت نشد.

v-bind (v-bind)

در Vue، دستور v-bind ویژگی های HTML را به «داده (Data)» وصل می کند. یعنی مقدار ویژگی ها از متغیرها می آید و با تغییر داده، ظاهر هم عوض می شود؛ مثل تغییر نام پروفایل داخل برنامه.

v-bind چه کار می کند؟

دایرکتیو «v-bind» یک ویژگی را به یک مقدار از نمونه Vue متصل می کند. بنابراین مقدار ویژگی پویا می شود و همیشه به روز می ماند. این روش خطای کمتر و کد تمیزتری می دهد.

ساختار کلی

<div v-bind:[attribute]="dataValue"></div>

مشاهده در ادیتور

نمونه: اتصال ویژگی src

منبع تصویر از داده url گرفته می شود. با عوض شدن url، تصویر هم عوض می شود. این رفتار مثل تغییر عکس پروفایل است.

<img v-bind:src="url">

مشاهده در ادیتور

اتصال style به صورت شیء

می توانی ویژگی style را به یک شیء جاوااسکریپتی وصل کنی. خاصیت ها همان نام های CSS به شکل camelCase هستند.

<div v-bind:style="{ fontSize: size }">
  متن نمونه
</div>

مشاهده در ادیتور

نکته: اگر مقدار عددی است، واحد را اضافه کن؛ مثلاً px.

<div v-bind:style="{ fontSize: size + 'px' }">
  متن نمونه
</div>

مشاهده در ادیتور

رنگ پس زمینه پویا

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

<div v-bind:style="{ backgroundColor: 'hsl(' + bgVal + ',80%,80%)' }">
  رنگ پس زمینه را ببین
</div>

مشاهده در ادیتور

<div v-bind:style="{ backgroundColor: isImportant ? 'lightcoral' : 'lightgray' }">
  پس زمینه شرطی
</div>

مشاهده در ادیتور

اتصال class به صورت پویا

با v-bind:class کلاس ها را از داده بگیر. می توانی نام کلاس را مستقیم بدهی یا با شیء شرطی کنی.

<div v-bind:class="className">
  کلاس با Vue تنظیم شده است
</div>

مشاهده در ادیتور

<div v-bind:class="{ myClass: isImportant }">
  کلاس به صورت شرطی اعمال می شود
</div>

مشاهده در ادیتور

میان بُر v-bind

می توانی به جای v-bind: فقط : بنویسی. خواناتر و کوتاه تر می شود.

<div :class="{ impClass: isImportant }">
  کلاس به صورت شرطی اعمال می شود
</div>

مشاهده در ادیتور

گام های عملی

  1. یک عنصر با id="app" داشته باش.
  2. مقدار داده را در نمونه Vue تعریف کن.
  3. با v-bind ویژگی یا کلاس را وصل کن.
  4. مقدار داده را تغییر بده و نتیجه را ببین.

جمع بندی سریع

  • v-bind ویژگی ها را پویا می کند.
  • برای style از شیء استفاده کن.
  • class را شرطی کن.
  • میان بُر : کوتاه و خواناست.

دایرکتیوها را مرور کن و سپس به v-if برو برای شرط ها.