আপনার নিজস্ব Vue সার্ভার পান
<p> ট্যাগের ভিতরে বার্তা পাওয়ার আগে DOM আপডেট হওয়ার জন্য অপেক্ষা করতে $nextTick() পদ্ধতিটি ব্যবহার করুন।
methods: {
updateMsg() {
this.message = '"Hello! This is a new message."';
this.results.push(this.$refs.pEl.textContent);
this.$nextTick(() => {
this.results.push(this.$refs.pEl.textContent + ' (using $nextTick())');
});
}
}
এটি কীভাবে কাজ করে তা দেখতে "এটি নিজে চেষ্টা করুন" বোতামে ক্লিক করুন৷
নীচে আরো উদাহরণ দেখুন.
সংজ্ঞা এবং প্রয়োগ
$nextTick() পদ্ধতিটি কার্যকর করার আগে DOM আপডেট করার জন্য অপেক্ষা করে।
বর্তমান Vue কম্পোনেন্টের DOM আপডেট চক্র সম্পূর্ণ হওয়ার জন্য অপেক্ষা করতে আমরা এটি ব্যবহার করি।$nextTick()।
| Argument | ব্যাখ্যা |
|---|---|
| callback function | ঐচ্ছিক। প্রদত্ত কলব্যাক ফাংশনটি DOM আপডেটের পরে কার্যকর করা হবে (উপরের উদাহরণ দেখুন)। $nextTick() পদ্ধতিটি কোন যুক্তি ছাড়াই ব্যবহার করা যেতে পারে (নীচের উদাহরণ দেখুন)। |
এটি ছাড়াও।$nextTick() , একটি বিশ্বব্যাপী nextTick() পদ্ধতিও রয়েছে যা একটি নির্দিষ্ট উপাদানের সুযোগের বাইরে থেকেও একটি DOM আপডেটের জন্য অপেক্ষা করতে ব্যবহার করা যেতে পারে।
দ্রষ্টব্য:
Vue-তে, যখন একটি প্রতিক্রিয়াশীল ভেরিয়েবল পরিবর্তন করা হয়, তখন DOM অবিলম্বে আপডেট হয় না। Vue এই পরিবর্তনগুলি সঞ্চয় করে এবং 'পরবর্তী টিক' ঘটলে সেগুলি প্রয়োগ করে। এটি কর্মক্ষমতা উন্নত করতে এবং Vue ইনস্ট্যান্স এবং DOM-এর মধ্যে ধারাবাহিকতা নিশ্চিত করতে।
আরো উদাহরণ
উদাহরণ
প্রথম উদাহরণের মতো একই ফলাফল $nextTick() মেথডকে অ্যাসিঙ্ক্রোনাস পদ্ধতিতে await প্রিফিক্স সহ কল করে অর্জন করা যেতে পারে। এটি 'পরবর্তী টিক' না হওয়া পর্যন্ত কোডের পরবর্তী লাইনগুলিকে আটকে রাখে।
<template>
<h2>Example $nextTick() Method</h2>
<p>Using "await $nextTick()", the next lines of code will also wait until the 'next tick' happens.
</p>
<div>
<p ref="messageEl">{{ message }}</p>
<button v-on:click.once="updateMsg">Update Message</button>
<ol>
<li v-for="x in results">{{ x }}</li>
</ol>
</div>
</template>
<script>
export default {
data() {
return {
message: "Initial Message",
results: []
};
},
methods: {
async updateMsg() {
this.message = "Hello! This message is now updated.";
this.results.push(this.$refs.messageEl.textContent);
await this.$nextTick();
this.results.push(this.$refs.messageEl.textContent + ' (after await $nextTick())');
}
}
};
</script>
<style scoped>
div {
border: solid black 1px;
padding: 10px;
}
</style>
ভিউ টিউটোরিয়াল
এই টিউটোরিয়ালের অনেক অধ্যায় ব্যায়ামের সাথে শেষ হয় যা আপনার জ্ঞানের স্তর পরীক্ষা করতে পারে।