Example
আপনার নিজস্ব Vue সার্ভার পান
<ol> এবং <li> ট্যাগ ধারণকারী একটি তালিকা আউটপুট করতে v-html নির্দেশ ব্যবহার করে।
<div id="app">
<div>{{ htmlContent }}</div>
<div v-html="htmlContent"></div>
</div>
নীচে আরো উদাহরণ দেখুন.
Definition and Usage
v-html নির্দেশিকাটি একটি উপাদানের মধ্যে HTML ট্যাগ এবং পাঠ্য সন্নিবেশ করতে ব্যবহৃত হয়।
আপনি যদি টেক্সট ইন্টারপোলেশন ব্যবহার করে (কোঁকড়া বন্ধনী {{ }} ব্যবহার করে) HTML ট্যাগগুলি আউটপুট করার চেষ্টা করেন, ফলাফলটি শুধুমাত্র একটি পাঠ্য স্ট্রিং। উপরের উদাহরণ দেখুন।
<style scoped> ব্যবহার করে সিঙ্গল-ফাইল কম্পোনেন্টস (SFCs) এ সংজ্ঞায়িত পজিশনিং স্টাইল v-html নির্দেশিকা থেকে HTML কে প্রভাবিত করে না। নীচের প্রথম উদাহরণ দেখুন।
সিএসএস মডিউলগুলিকে <স্টাইল মডিউল> দিয়ে ব্যবহার করা যেতে পারে এসএফসি-তে ভি-এইচটিএমএলের সাথে অন্তর্ভুক্ত এইচটিএমএলের স্ট্যাটিক স্টাইলিং অর্জন করতে। নীচের দ্বিতীয় উদাহরণ দেখুন।
দ্রষ্টব্য:
যে পৃষ্ঠাগুলিতে ব্যবহারকারীরা কোনোভাবে v-html এর সাথে অন্তর্ভুক্ত বিষয়বস্তু নির্ধারণ করতে পারে সেগুলি ক্রস-সাইট স্ক্রিপ্টিং (XSS) আক্রমণের জন্য ঝুঁকিপূর্ণ।
More Examples
Example 1
অবস্থানগত শৈলী ব্যবহার করে v-html এর সাথে যুক্ত HTML এর জন্য শৈলী কাজ করে না।
এই সমস্যাটি পরবর্তী উদাহরণে সমাধান করা হয়েছে।
<template>
<h1>Example</h1>
<p>When using scoped styling, styling for HTML included with the 'v-html' directive does not work.</p>
<p><a href="showvue.php?filename=demo_ref_v-html2_2">See the next example</a> for how we can fix this by using CSS Modules.</p>
<div v-html="htmlContent" id="htmlContainer"></div>
</template>
<script>
export default {
data() {
return {
htmlContent: "<p>Hello from v-html</p>"
}
}
};
</script>
<style scoped>
#htmlContainer {
border: dotted black 1px;
width: 200px;
padding: 10px;
}
#htmlContainer > p {
background-color: coral;
padding: 5px;
font-weight: bolder;
width: 150px;
}
</style>
Example 2
<style scoped> এর পরিবর্তে <style module> সহ CSS মডিউল ব্যবহার করে, স্টাইলটি স্টাইল পজিশনিং এবং v-html সহ HTML এর জন্য কাজ করে।
আগের উদাহরণে এই সমস্যাটি এখন সমাধান করা হয়েছে।
<template>
<h1>Example</h1>
<p>Scoped styling for HTML included with the 'v-html' directive now works by using CSS Modules with 'style module', instead of 'style scoped'.</p>
<div v-html="htmlContent" :id="$style.htmlContainer"></div>
</template>
<script>
export default {
data() {
return {
htmlContent: "<p>Hello from v-html</p>"
}
}
};
</script>
<style module>
#htmlContainer {
border: dotted black 1px;
width: 200px;
padding: 10px;
}
#htmlContainer > p {
background-color: coral;
padding: 5px;
font-weight: bolder;
width: 150px;
}
</style>
Exercise
প্রশিক্ষণ:
Vue.js v-html directive ?