فهرست سرفصل‌های 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)

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

محاسبه شده ها (computed)

اینجا درباره «محاسبه شده های ویو» حرف می زنیم. «محاسبه شده (Computed)» یعنی مقدارِ خودکار بر اساس داده ها. مثل معدل که از نمره ها حساب می شود.

تعریف «محاسبه شده های ویو» و کاربرد

گزینه «computed» یک شیء از ویژگی های محاسبه ای است. هر ویژگی مثل تابع بدون ورودی رفتار می کند و خروجی برمی گرداند.

خروجی «computed» کش می شود. بنابراین تا زمانی که وابستگی تغییر نکند، دوباره محاسبه نمی شود.

می توان «getter» و «setter» نوشت. پس ویژگی هم خواندنی است و هم قابل تنظیم.

نمونه کد: متن دکمه با computed

<template>
  <div>
    <h2 v-if="showMsg">{{ msg }}</h2>
    <button @click="showMsg = !showMsg">{{ btnText }}</button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      msg: 'Hello World!',
      showMsg: false
    };
  },
  computed: {
    btnText() {
      if (this.showMsg) {
        return 'Hide';
      } else {
        return 'Show';
      }
    }
  }
};
<\/script>

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

گام های عملی استفاده

  1. وابستگی ها را در data تعریف کن.
  2. خاصیت محاسبه ای را داخل computed بساز.
  3. در قالب، مقدار computed را نمایش بده.

نکته: برای منطق نمایشی، computed تمیزتر از متد است. چون خروجی کش می شود.

هشدار: داخل computed از «Arrow Function» پرهیز کن. چون this به نمونه ویو وصل نمی شود.

ارتباط با بخش های دیگر

اگر رویدادها را مدیریت می کنی، سراغ متدها برو. همچنین داده ها را در گزینه data تنظیم کن. صفحه محاسبه شده های ویو مرجع همین مبحث است.

جمع بندی سریع

  • computed خروجی وابسته به data می سازد.
  • خروجی تا تغییر وابستگی، کش می ماند.
  • می توان getter و setter نوشت.
  • از Arrow Function برای computed استفاده نکن.

منابع بیشتر: مرجع computed، Computed Properties، راهنمای v-on.