فهرست سرفصل‌های 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)
نتیجه‌ای برای جستجو یافت نشد.
Vue

Vue — دایرکتیوها (Directives)

آخرین بروزرسانی: 1404/08/21

دایرکتیوها (Directives)

«دایرکتیو (Directive)» یک دستور کوتاه در قالب است. این دستور به Vue می گوید با DOM چه کند. مثل برچسب های کوچکی روی عناصر هستند. با آن ها نمایش، رویداد، و داده را کنترل می کنیم.

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

بر اساس مرجع منبع، این دایرکتیوها وجود دارند و کارشان مشخص است:

  • v-bind: اتصال صفت به داده.
  • v-cloak: پنهان کردن قالب تا آماده شدن.
  • v-for: رندر لیست عناصر.
  • v-html: خروجی دادن HTML داخل قالب.
  • v-if / v-else-if / v-else: رندر شرطی.
  • v-memo: تعویق رندر تا تغییرِ ویژگی ها.
  • v-model: اتصال دوسویه ورودی و داده.
  • v-on: وصل کردن رویداد به عمل.
  • v-once: رندر فقط یک بار.
  • v-pre: پرش کامپایل برای یک بخش.
  • v-show: نمایش/عدم نمایش مشروط.
  • v-slot: ارسال محتوا به اسلات نام دار.
  • v-text: بروزرسانی متن عنصر.

نمونه سریع: لیست، شرط، رویداد

این نمونه چند دایرکتیو پایه را کنار هم نشان می دهد. مثل کارنامه مدرسه: اسامی را لیست کن، شرط قبولی را نشان بده، و با کلیک، تعداد رأی را زیاد کن.

<template>
  <div>
    <h3>Directives Demo</h3>
    <p v-if="passed">Student passed.</p>
    <p v-else>Student not passed.</p>
    <ul>
      <li v-for="name in students" :key="name">{{ name }}</li>
    </ul>
    <button v-on:click="votes++">Vote</button>
    <p v-show="votes > 0">Votes: {{ votes }}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      students: ['Ali', 'Sara', 'Reza'],
      votes: 0,
      passed: true
    };
  }
};
<\/script>

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

نمونه ورودی: v-model و v-bind

اینجا ورودی با داده همگام است. همچنین صفت placeholder با v-bind از داده می آید. مثل تنظیم نام پروفایل در موبایل.

<template>
  <div>
    <input v-model="username" :placeholder="ph" />
    <p v-text="username"></p>
    <button v-on:click="username = ''">Clear</button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      username: '',
      ph: 'Type your name...'
    };
  }
};
<\/script>

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

گام های عملی

  1. عنصر هدف را انتخاب کن؛ ورودی یا لیست.
  2. دایرکتیو مناسب را بگذار؛ مثل v-for یا v-model.
  3. داده را در data() تعریف و مقداردهی کن.

نکته: برای زمان بندیِ بعد رندر، از $nextTick() کمک بگیر. برای واکنش به تغییرات داده، متد watch را ببین. این دو کنار دایرکتیوها عالی می شوند.

جمع بندی سریع

  • دایرکتیوها مغز قالب Vue هستند.
  • v-for لیست را می سازد.
  • v-if و v-show نمایش را کنترل می کنند.
  • v-model ورودی را همگام می کند.
  • v-on رویدادها را وصل می کند.