Vue v-on পদ্ধতি
প্লেইন জাভাস্ক্রিপ্টে ইভেন্ট হ্যান্ডলারদের মতো, Vue-তে ভি-অন মেকানিজম ব্রাউজারকে বলে:
- কোন ইভেন্টটি শুনতে হবে ('ক্লিক', 'কিডাউন', 'মাউসওভার', ইত্যাদি)
- সেই ঘটনা ঘটলে কী করবেন
ভি-অন ব্যবহার করার উদাহরণ
এই ঘটনাগুলি ঘটলে চালানোর জন্য বিভিন্ন ইভেন্ট এবং বিভিন্ন কোডের সাথে কীভাবে ভি-অন ব্যবহার করা যেতে পারে তা দেখার জন্য আসুন কিছু উদাহরণ দেখি।
দ্রষ্টব্য:
একটি ইভেন্ট ঘটলে উন্নত কোড চালানোর জন্য, Vue পদ্ধতিগুলি প্রবর্তন করতে হবে। এই টিউটোরিয়ালের পরবর্তী পৃষ্ঠায় Vue পদ্ধতি সম্পর্কে জানুন।
অনক্লিক ইভেন্ট
ভি-অন মেকানিজম নির্দিষ্ট ইভেন্টের উপর ভিত্তি করে ক্রিয়া সম্পাদনের অনুমতি দেয়।
যখন উপাদানটি ক্লিক করা হয় তখন একটি ক্রিয়া সম্পাদন করতে v-on:click ব্যবহার করুন।
'ক্লিক' ইভেন্ট শোনার জন্য <বাটন> ট্যাগে ভি-অন পদ্ধতি ব্যবহার করা হয়। যখন 'ক্লিক' ইভেন্টটি ঘটে তখন 'লাইটঅন' ডেটা বৈশিষ্ট্য 'সত্য' এবং 'মিথ্যা'-এর মধ্যে টগল করে, যা লাইট বাল্বের পিছনে হলুদ <div> দৃশ্যমান/লুকিয়ে রাখে।
<div id="app">
<div id="lightDiv">
<div v-show="lightOn"></div>
<img src="img_lightBulb.svg">
</div>
<button v-on:click="lightOn = !lightOn">Switch light</button>
</div>
<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<script>
const app = Vue.createApp({
data() {
return {
lightOn: false
}
}
})
app.mount('#app')
</script>
আপনার নিজস্ব Vue সার্ভার পান
অনইনপুট ইভেন্ট
যখন একটি উপাদান ইনপুট গ্রহণ করে, একটি পাঠ্য ক্ষেত্রের ভিতরে একটি কীস্ট্রোকের মতো কিছু করতে v-on:input ব্যবহার করুন।
ইনপুট পাঠ্য ক্ষেত্রের জন্য কীস্ট্রোকের সংখ্যা গণনা করুন:
<div id="app">
<input v-on:input="inpCount++">
<p>{{ 'Input events occured: ' + inpCount }}</p>
</div>
<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<script>
const app = Vue.createApp({
data() {
return {
inpCount: 0
}
}
})
app.mount('#app')
</script>
ইনপুট গণনা ডেমো
Input events occured: 0
মাউসমুভ ইভেন্ট
যখন মাউস পয়েন্টার একটি উপাদানের উপর চলে যায় তখন একটি ক্রিয়া সম্পাদন করতে v-on:mousemove ব্যবহার করুন।
একটি <div> উপাদানের পটভূমির রঙ পরিবর্তন করুন যখনই মাউস পয়েন্টার এটির উপর চলে যায়:
<div id="app">
<p>Move the mouse pointer over the box below</p>
<div v-on:mousemove="colorVal=Math.floor(Math.random()*360)"
v-bind:style="{backgroundColor:'hsl('+colorVal+',80%,80%)'}">
</div>
</div>
<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<script>
const app = Vue.createApp({
data() {
return {
colorVal: 50
}
}
})
app.mount('#app')
</script>
ভি-ফর লুপে ভি-অন ব্যবহার করুন
আপনি ভি-ফর লুপের ভিতরে ভি-অন পদ্ধতিটিও ব্যবহার করতে পারেন।
অ্যারের আইটেমগুলি v-অন মানের মধ্যে প্রতিটি পুনরাবৃত্তির জন্য উপলব্ধ।
খাবারের অর্ডারের উপর ভিত্তি করে একটি তালিকা প্রদর্শন করুন এবং প্রতিটি আইটেমের জন্য একটি ক্লিক ইভেন্ট যোগ করুন যা একটি ছবির উৎস পরিবর্তন করতে অর্ডার আইটেম থেকে একটি মান ব্যবহার করে।
<div id="app">
<img v-bind:src="imgUrl">
<ol>
<li v-for="food in manyFoods" v-on:click="imgUrl=food.url">
{{ food.name }}
</li>
</ol>
</div>
<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<script>
const app = Vue.createApp({
data() {
return {
imgUrl: 'img_salad.svg',
manyFoods: [
{name: 'Burrito', url: 'img_burrito.svg'},
{name: 'Salad', url: 'img_salad.svg'},
{name: 'Cake', url: 'img_cake.svg'},
{name: 'Soup', url: 'img_soup.svg'}
]
}
}
})
app.mount('#app')
</script>
ভি-অনের জন্য শর্টকাট
'ভি-অন'-এর শর্টকাট হল '@'।
এখানে আমরা 'v-on'-এর পরিবর্তে '@' লিখি:
<button @:click="lightOn = !lightOn">Switch light</button>
আমরা এই টিউটোরিয়ালে একটু পরে @ সিনট্যাক্স ব্যবহার শুরু করব।
ভিউ টিউটোরিয়াল
ব্যায়াম দিয়ে নিজেকে পরীক্ষা করুন
প্রশিক্ষণ:
কোডটি সম্পূর্ণ করুন যাতে বোতামটি ক্লিক করা হলে চিত্রটি পরিবর্তন হয়।
<template>
<button ="showImg = !showImg">
Toggle image
</button>
<img src="flower.jpg" alt="flower" v-show="showImg">
</template>
<script>
export default {
data() {
return {
: true
}
}
}
</script>