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

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

$data ($data)

آبجکت «$data» یعنی همه داده های بخش «data» در کامپوننت. یعنی همان متغیرها. «متغیر (Variable)» مقداری است که تغییر می کند. مثل نمره ریاضی که بالا و پایین می شود. با $data می فهمانیم که از داده های کامپوننت حرف می زنیم.

تعریف و کاربرد $data

$data نماینده تمام ویژگی های بخش data است. معمولاً مستقیم می نویسیم this.color. اما گاهی باید بگوییم this.$data.color. چون نام با _ یا $ شروع می شود. در این حالت this تنها کار نمی کند.

نمونه: تغییر مقدار با $data در متد

با متد، رنگ را عوض می کنیم. مقدار از داخل $data خوانده و نوشته می شود.

export default {
  data() {
    return {
      color: 'lightgreen'
    };
  },
  methods: {
    changeColor() {
      this.$data.color = 'pink';
    }
  }
};

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

نمونه: استفاده مستقیم از $data در قالب

با هر کلیک، مقدار رنگ تغییر می کند. سپس پس زمینه، روشن تر می شود.

<div 
  v-on:click="$data.color+=100"
  v-bind:style="{backgroundColor:'hsl('+$data.color+',80%,80%)'}"
>
  <p>Click here</p>
</div>

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

گام های عملی

  1. ویژگی ها را در data برگردان.
  2. در متدها از this.color استفاده کن.
  3. اگر اسم با $ یا _ بود، this.$data بنویس.

نکته: برای دسترسی در قالب، می توانی از $data هم استفاده کنی. اما خوانایی مهم است.

هشدار: تغییر بی برنامه داده ها، اشکال می سازد. پس ساختار را ساده نگه دار.

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

برای صفات عبوری به $attrs سر بزن. همچنین صفحه نمونه کامپوننت فهرست کامل آبجکت ها و متدها را دارد.

جمع بندی سریع

  • $data همان داده های کامپوننت است.
  • عادی بنویس this.prop؛ ساده تر است.
  • برای نام های خاص از this.$data کمک بگیر.
  • در قالب هم می شود $data نوشت.