v-html

จากตัวอย่างวิธีการนำข้อมูลในตัวแปรไปแสดง ตามข้างล่าง

<div id="app">
    <p>{{ greeting }}< /p>
</div>

<script src="https:/pmcdn.com/vue/dist/vue.js"></script>
<script >
new Vue({ 
    el: "#app", 
    data: { greeting: "Hello World" } 
})
</script>

เราเอาค่าจากตัวแปร greeting ไปแสดงที่แท็ก p การแสดงข้อมูลโดยใช้รูปแบบนี้ จะแสดงข้อมูลที่ไม่ได้เป็น html เท่านั้น เพราะว่า Vue จะทำการแปลงโค้ด html ให้เป็นข้อความธรรมดา ลองดูตัวอย่าง

ตัวอย่าง

<div id="app">
  <div>{{ greeting }}</div>
</div>

<script src="js/vue.js"></script>
<script >
new Vue({
  el: "#app",
  data: { 
    greeting: "<h1>How to use v-html</h1>"
  }
})
</script>

ผลลัพธ์

แน่นอนว่า Vue ทำอย่างนี้ก็เพื่อความปลอดภัย เพราะบางที่บางแห่งเราไม่ได้ต้องการให้ยูสเซอร์ป้อน html เข้ามาแล้วแสดงเป็นอะไรก็ได้

ทีนี้ถ้าหากเราต้องการแสดง html จริงๆ จะทำไง

Vue เตรียมคำสั่งไว้ให้คำสั่งหนึ่ง คือ v-html ลองดูตัวอย่าง

ตัวอย่าง

<div id="app">
  <div v-html="greeting"></div>
</div>

<script src="js/vue.js"></script>
<script >
new Vue({
  el: "#app",
  data: { 
    greeting: "<h1>How to use v-html</h1>"
  }
})
</script>

ผลลัพธ์

คำอธิบาย

เราแค่เปลี่ยนคำสั่งการแสดงจาก

<div>{{ greeting }}</div>

ไปเป็น

<div v-html="greeting"></div>

results matching ""

    No results matching ""