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

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

unmounted (unmounted)

هوک «unmounted در ویو (Vue)» بعد حذف کامپوننت اجرا می شود. «هوک (Hook)» یعنی زمان بندی آماده اجرا برای کد. اینجا کامپوننت از DOM بیرون رفته است. بنابراین باید کارهای پایانی را تمام کنیم. مثل وقتی از کلاس بیرون می روی و چراغ را خاموش می کنی.

unmounted در ویو چیست؟

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

نمونه کد از منبع

در این مثال، پس از حذف کامپوننت، یک پیام هشدار نشان داده می شود.

<script>
export default {
  unmounted() {
    alert("The component is removed (unmounted)!");
  }
}
<\/script>

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

گام های عملی

  1. لیست پاکسازی را آماده کن. تایمر و لیسنرها.
  2. لغو setInterval و setTimeout را انجام بده.
  3. رویدادهای global را remove کن. تمیز خارج شو.
  4. منابع خارجی را ببند. مثل WebSocket یا اشتراک ها.

نکته ها و هشدارها

نکته: پیام هشدار شاید زودتر دیده شود. چون ابتدا حذف می شود، سپس هشدار می آید، و بعد از تأیید، صفحه بدون کامپوننت رندر می شود.

هشدار: در unmounted دیگر به DOM همان کامپوننت تکیه نکن. چون عنصرها حذف شده اند.

ارتباط با دیگر هوک ها

اگر نیاز به کارِ قبلِ حذف داری، از beforeUnmount استفاده کن. برای توضیح خود «unmounted در ویو» همین صفحه مرجع توست. سپس برای مدیریت خطاها می توانی به errorCaptured سر بزنی.

جمع بندی سریع

  • unmounted پس از حذف اجرا می شود.
  • DOM کامپوننت دیگر در دسترس نیست.
  • تایمرها و رویدادها را پاکسازی کن.
  • کارهای سنگین انجام نده.
  • قبلِ حذف، از beforeUnmount کمک بگیر.