iT邦幫忙

2021 iThome 鐵人賽

DAY 6
0
Modern Web

前端暴龍機,Vue2.x 進化 Vue3系列 第 6

[前端暴龍機,Vue2.x 進化 Vue3 ] Day6. 模板語法

模板語法

在上一篇我們已經完成了我們第一個 Vue 建出來的 Hello Vue 網頁,其中我們有學到一種渲染內容的模板語法 {{ }},那麼今天就再來學學其他的模板語法吧~

1. v-text

v-text{{ }} 的渲染效果是一樣的,使用的方式為

<p v-text="被綁定的變數"></p>

接下來一起看看效果吧
https://ithelp.ithome.com.tw/upload/images/20210813/20120722PlHcMufxmO.jpg

[要注意的點!!]
原本好像沒去注意還是忘記了,剛好透過這次寫鐵人賽複習/images/emoticon/emoticon13.gif
如果使用 v-text 的方式,但 Html 標籤(tag)【ex : <p> , <span>, <h1> ...等】 中如果有存在內容,就會被 v-text 所要渲染的內容給覆蓋過去
https://ithelp.ithome.com.tw/upload/images/20210813/20120722WRWgpvWxN6.jpg
原本已經在 tag 中的 "說好的要讓給我" 就會被整個覆蓋

2. v-html

v-html 從字面上來看,可以很好理解或者猜到,沒錯~ v-html 就是可以 涵蓋 Html 語法
這是 v-text{{ }} 無法去做到的,我們來看看~
https://ithelp.ithome.com.tw/upload/images/20210813/20120722BYmo0U1tYq.jpg
可以看到在 v-text{{ }} 如果綁定要渲染的內容包含 Html 語法 是會被當成存字串(打甚麼內容就出現甚麼內容)

那麼 v-html 如果有內容也會被覆蓋嗎?

竟然 v-htmlv-text{{ }} 比較不一樣,那麼 v-html 會跟 v-text 一樣把 tag 中的內容附蓋掉嗎? 答案是會的,我們直接看結果~
https://ithelp.ithome.com.tw/upload/images/20210813/20120722mCQMeI6ltr.jpg

[要注意的點!!]
v-html 雖然提供了 html 的渲染,但這同樣帶來了風險
官方文件也有提到,請不要對用戶提供的內容使用 v-html 去做渲染,以免造成 XSS 攻擊(有心人士可能會讓你渲染出惡意的 JavaScript)


參考資料

Vue 官方文件
04 Vue的模板語法 - v-text, v-html , iT邦幫忙 UT


上一篇
[前端暴龍機,Vue2.x 進化 Vue3 ] Day5. Vue的起手開發
下一篇
[前端暴龍機,Vue2.x 進化 Vue3 ] Day7. Vue資料的使用方式
系列文
前端暴龍機,Vue2.x 進化 Vue330
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言