فهرست سرفصل‌های 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 — ویژگی های محاسبه شده (Computed Properties)

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

ویژگی های محاسبه شده (Computed Properties)

«ویژگی محاسبه شده (Computed Property)» مقداری وابسته به داده ها می سازد. مقدارش خودکار به روز می شود. مثل نمره میانگین که از چند نمره حساب می شود.

محل تعریف در Vue

مثل data و methods، یک بخش رزرو شده داریم. نامش computed است.

const app = Vue.createApp({
  data() {
    return {
      // ... داده ها
    };
  },
  computed: {
    // ... ویژگی های محاسبه شده
  },
  methods: {
    // ... متدها
  }
});

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

نکته: «پویا» یعنی با تغییر ورودی، خروجی خودش تغییر می کند.

بازخورد ساده: true/false

این حالت مقدار خام را نشان می دهد. هنوز خوانا نیست.

<input type="checkbox" v-model="chbxVal"> {{ chbxVal }}
<\/input>
<script>
const app = Vue.createApp({
  data() {
    return {
      chbxVal: false
    };
  }
});
<\/script>

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

بهبود خوانایی با ویژگی محاسبه شده

می خواهیم به جای true/false، «yes» یا «no» ببینیم.

<input type="checkbox" v-model="chbxVal"> {{ isImportant }}
<\/input>
<script>
const app = Vue.createApp({
  data() {
    return {
      chbxVal: false
    };
  },
  computed: {
    isImportant() {
      if (this.chbxVal) {
        return 'yes';
      } else {
        return 'no';
      }
    }
  }
});
<\/script>

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

نکته: ویژگی محاسبه شده ورودی نمی گیرد. نتیجه را برمی گرداند.

Computed در برابر Method

متد با رویداد اجرا می شود. اما computed خودکار واکنش نشان می دهد.

computed مثل data مصرف می شود. ولی همیشه از وابستگی ها حساب می شود.

گام های عملی

  1. یک داده پایه بساز. مثلاً chbxVal.
  2. یک computed تعریف کن. مقدار خوانا بساز.
  3. در قالب، مقدار computed را نمایش بده.

جمع بندی سریع

  • computed وابسته به داده ها است.
  • خودکار و سریع به روزرسانی می شود.
  • برای نمایش های خوانا عالی است.
  • جایگزین متد فراخوانی شده نیست.

برای استایل پویا، صفحه بایندینگ CSS را ببین. همچنین واچرها را برای پایش تغییرات بررسی کن. اگر نیاز شد، به ویژگی های محاسبه شده بازگرد.