فهرست سرفصل‌های 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 — کامپوننت های محلی (Local Components)

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

کامپوننت های محلی (Local Components)

کامپوننت محلی (Local Component) یعنی فقط در یک فایل در دسترس باشد. کامپوننت سراسری در همه فایل ها دیده می شود. پس گاهی بهتر است محلی باشیم تا کد مرتب تر بماند.

1) ثبت سراسری در main.js

وقتی در main.js کامپوننت را ثبت کنیم، همه فایل ها می توانند از آن استفاده کنند.

import { createApp } from 'vue';
import App from './App.vue';
import CompOne from './components/CompOne.vue';
import CompTwo from './components/CompTwo.vue';
const app = createApp(App);
app.component('comp-one', CompOne);
app.component('comp-two', CompTwo);
app.mount('#app');

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

2) ساخت کامپوننت محلی در App.vue

حالا CompOne را از main.js حذف کن. سپس آن را مستقیم در App.vue ایمپورت و ثبت کن.

<!-- main.js (پس از حذف ثبت سراسری CompOne) -->
import { createApp } from 'vue';
import App from './App.vue';
import CompTwo from './components/CompTwo.vue';
const app = createApp(App);
app.component('comp-two', CompTwo);
app.mount('#app');

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

<!-- App.vue -->
<template>
  <h3>Local Component</h3>
  <p>The CompOne.vue component is a local component and can only be used inside App.vue.</p>
  <comp-one />
  <comp-two />
</template>
<script>
import CompOne from './components/CompOne.vue';
export default {
  components: {
    'comp-one': CompOne
  }
};
<\/script>

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

نکته های کاربردی

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

نکته: اگر در توسعه اخطار دیدی، یعنی کامپوننت محلی را بیرون از فایلش صدا زده ای.

ادامه مباحث مرتبط: استایل Scoped برای جداسازی CSS. همچنین کامپوننت محلی ویو به صورت مرجع همین صفحه. و بعداً اسلات ها برای جای گذاری محتوا.

جمع بندی سریع

  • ثبت در main.js یعنی دسترسی سراسری.
  • ثبت در components یعنی دسترسی محلی.
  • محلی سازی، کد را ماژولار می کند.
  • از اضافه واردکردن بپرهیز.