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

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

$parent ($parent)

«$parent» یعنی نمونه والد کامپوننت. «نمونه (Instance)» همان شیء زنده Vue است. با آن می توان داده والد را خواند یا متدش را صدا زد. اما بهتر است بیشتر وقت ها از «props/emit» یا «provide/inject» استفاده کنیم. چون کد تمیزتر می شود.

تعریف و رفتار آبجکت $parent

$parent به والد مستقیم وصل است. در ریشه برنامه، مقدار $parent برابر null است. بنابراین اول ساختار را بشناس. سپس با احتیاط تغییر بده. چون دسترسی مستقیم وابستگی می سازد.

نمونه 1: تغییر داده والد از فرزند

با کلیک، مقدار text در والد عوض می شود. این روش ساده است؛ ولی ارتباط را سفت می کند.

<template>
  <div>
    <h3>Change Text</h3>
    <p>Click the button to update the parent text.</p>
    <button v-on:click="changeText">Change text in parent</button>
  </div>
</template>

<script>
export default {
  methods: {
    changeText() {
      this.$parent.text = 'Hello!';
    }
  }
};
<\/script>

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

نمونه 2: صدا زدن متد والد از فرزند

اینجا، دکمه متد toggleColor در والد را اجرا می کند. این کار ممکن است؛ اما وابستگی می سازد.

<template>
  <div>
    <h3>Toggle Color</h3>
    <p>Click to toggle parent color.</p>
    <button v-on:click="callParentToggle">Toggle</button>
    <p>Parent contains the toggleColor method.</p>
  </div>
</template>

<script>
export default {
  methods: {
    callParentToggle() {
      this.$parent.toggleColor();
    }
  }
};
<\/script>

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

نکته مهم نگه داری

نکته: برای ارتباط معمول، بهتر است از props و $emit() استفاده کنی. کد پایدارتر می شود.

پیوندهای داخلی

برای مفاهیم پایه نمونه ها، صفحه نمونه کامپوننت مفید است. همچنین الگوی «آبشار داده» را در provide/inject ببین.

جمع بندی سریع

  • $parent به والد مستقیم اشاره می کند.
  • در ریشه، مقدار آن null است.
  • برای ارتباط ایمن، props/emit بهتر است.
  • دسترسی مستقیم وابستگی می سازد.