Vue $data Object

Vue.js $data

Vue $data Object

উদাহরণ

আপনার নিজস্ব Vue সার্ভার পান

ক্লিক করার সময় একটি <div> উপাদানের রঙ পরিবর্তন করতে $data অবজেক্ট ব্যবহার করে।

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

নীচে আরো উদাহরণ দেখুন.

সংজ্ঞা এবং প্রয়োগ

$data অবজেক্ট Vue ইনস্ট্যান্সের ডেটা অংশে সংরক্ষিত সমস্ত বৈশিষ্ট্য উপস্থাপন করে।

উপরের উদাহরণে, রঙের প্রপার্টি এই.$data.color দিয়ে উপস্থাপন করা হয়েছে, কিন্তু একই প্রপার্টি this.color হিসেবে লেখা যেতে পারে, যা বেশি সাধারণ।

$data অবজেক্ট ব্যবহার করা হয় যখন একটি Vue ইনস্ট্যান্সের ডেটা অংশে একটি প্রপার্টি স্পষ্টভাবে উল্লেখ করা হয়।

বিশেষ ক্ষেত্রে

$data অবজেক্ট ব্যবহার করা উচিত একটি ডেটা অ্যাট্রিবিউট নির্দিষ্ট করার সময় যার নাম "_" বা "$" দিয়ে শুরু হয় কারণ এই উপসর্গটি একা এই ধরনের ক্ষেত্রে কাজ করবে না।

উদাহরণ

ডেটা() { ফিরে _private: 'গোপন', $special: 'মান' } } // এই._private কাজ করে না // এই.$ বিশেষ কাজ করে না // শুধুমাত্র $ডেটার মাধ্যমে: এই।$data._private এই।$ডেটা।$বিশেষ

আরো উদাহরণ

উদাহরণ

প্রতিবার ক্লিক করার সময় <div> উপাদানটির রঙ পরিবর্তন করতে $data অবজেক্ট ব্যবহার করে।

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

পরিস্থিতি 2: এর সাথে (অভিব্যক্তিতে)

<div 
  @click="incrementCounter"
  :style="{ color: textColor }"
>
  {{ counter }}
</div>

<script>
export default {
  methods: {
    incrementCounter() {
      this.counter++;
    }
  }
}
</script>

💡এক্সপ্রেশনে $ডেটা

টেমপ্লেট এক্সপ্রেশনে, আপনি সরাসরি $data ব্যবহার করতে পারেন, যা আপনাকে ডেটা বৈশিষ্ট্যগুলি স্পষ্টভাবে চিহ্নিত করতে দেয়। যাইহোক, বেশিরভাগ ক্ষেত্রে এই অ্যাপ্লিকেশনটি পরিষ্কার।

কখন $ডেটা ব্যবহার করতে হবে

বিশেষ নাম:"_" বা "$" দিয়ে শুরু হওয়া ডেটা বৈশিষ্ট্যগুলি অ্যাক্সেস করতে।
স্বচ্ছতা:কোড পড়ার সময় ডেটা অ্যাট্রিবিউটকে স্বচ্ছ করতে
গতিশীল বৈশিষ্ট্য:পরিবর্তনশীল নাম সহ ডেটা বৈশিষ্ট্য অ্যাক্সেস করতে
টেমপ্লেট এক্সপ্রেশন:জটিল টেমপ্লেট এক্সপ্রেশনে ডেটা বৈশিষ্ট্য নির্দিষ্ট করতে
সাধারণ অ্যাক্সেস:সাধারণ ডেটা বৈশিষ্ট্যের জন্য (এই সম্পত্তি ব্যবহার করুন)
গণনাকৃত বৈশিষ্ট্য:কম্পিউটেড প্রোপার্টি অ্যাক্সেস করতে (এই ব্যবহার করুন.computedProperty)

ব্যবহারিক কোডিং উদাহরণ

1. বিশেষ নাম সহ ডেটা বৈশিষ্ট্য

রপ্তানি ডিফল্ট { ডেটা() { ফিরে // স্বাভাবিক বৈশিষ্ট্য ব্যবহারকারীর নাম: 'জন', বয়স: 30, // বিশেষ বৈশিষ্ট্য _অভ্যন্তরীণ রাজ্য: 'সক্রিয়', $মেটাডেটা: { সংস্করণ: '1.0' }, $$privateFlag: সত্য } }, পদ্ধতি: { updateInternalState() { // এটি কাজ করে না: // this._internalState = 'নিষ্ক্রিয়'; // this.$metadata.version = '2.0'; // শুধুমাত্র $ডেটার মাধ্যমে: this.$data._internalState = 'নিষ্ক্রিয়'; this.$data.$metadata.version = '2.0'; this.$data.$$privateFlag = মিথ্যা; }, logAllData() { // সম্পূর্ণ $data অবজেক্ট দেখতে console.log(এই.$ডেটা); // ব্যক্তিগত সম্পত্তি অ্যাক্সেস করতে console.log('Username:', this.username); // কাজ করে console.log('Internal:', this.$data._internalState); // কাজ করে } } }

2. ডাইনামিক অ্যাট্রিবিউট অ্যাক্সেস

রপ্তানি ডিফল্ট { ডেটা() { ফিরে ব্যবহারকারী: { নাম: 'এলিস', ইমেল: 'alice@example.com', বয়স: 25 } } }, পদ্ধতি: { updateProperty(propName, value) { // পরিবর্তনশীল নামের সাথে গতিশীল অ্যাক্সেস this.$data.user[propName] = মান; // এর সমতুল্য: // যদি (propName === 'নাম') this.user.name = মান; // যদি (propName === 'email') this.user.email = মান; // যদি (propName === 'বয়স') this.user.age = মান; }, getAllDataProperties() { // $ডেটাতে সমস্ত বৈশিষ্ট্য পান Object.keys(এই.$ডেটা); } } }

ভিউ টিউটোরিয়াল

ব্যায়াম দিয়ে নিজেকে পরীক্ষা করুন

কোন কম্পোনেন্ট ইনস্ট্যান্স অবজেক্টটি ভিউ ইন্সট্যান্সের ডেটা অংশে সংরক্ষিত সমস্ত বৈশিষ্ট্য উপস্থাপন করতে ব্যবহৃত হয়?

$attrs
✗ ভুল! $attrs অবজেক্ট স্ট্যাটিক অ্যাট্রিবিউটের প্রতিনিধিত্ব করে, ডেটা অ্যাট্রিবিউট নয়
$props
✗ ভুল! $props বস্তুটি প্রাপ্ত প্রপসকে বোঝায়, ডেটা বৈশিষ্ট্য নয়
$data
✓ ঠিক আছে! $data অবজেক্ট Vue ইনস্ট্যান্সের ডেটা অংশে সংরক্ষিত সমস্ত বৈশিষ্ট্য উপস্থাপন করে
$el
✗ ভুল! $el অবজেক্ট রুট DOM নোডের প্রতিনিধিত্ব করে, ডেটা অ্যাট্রিবিউট নয়