Vue?內(nèi)置指令梳理總結(jié)
指令總結(jié)
v-bind
:?jiǎn)蜗蚪壎ń馕霰磉_(dá)式,可簡(jiǎn)寫為:xxx
v-model
:雙向數(shù)據(jù)綁定v-for
:遍歷數(shù)組/對(duì)象/字符串v-on
:綁定事件監(jiān)聽,可簡(jiǎn)寫為@
v-if
:條件渲染(動(dòng)態(tài)控制節(jié)點(diǎn)是否存在)v-else
:條件渲染(動(dòng)態(tài)控制節(jié)點(diǎn)是否存在)v-show
:條件渲染(動(dòng)態(tài)控制節(jié)點(diǎn)是否展示)
v-text
v-text 指令
- 1、作用:向其所在的節(jié)點(diǎn)中渲染文本內(nèi)容
- 2、與插值語(yǔ)法的區(qū)別:
v-text
會(huì)替換掉節(jié)點(diǎn)中的內(nèi)容,{{xx}}
則不會(huì)
<div id="root"> <h2>{{msg}}</h2> <h2 v-text="msg"></h2> </div>
<script type="text/javascript"> Vue.config.productionTip = false //創(chuàng)建vue實(shí)例 new Vue({ el: "#root", data: { msg:"Hello world" } }) </script>
v-html
先簡(jiǎn)單演示下 v-html
<div id="root"> <div>{{msg}}</div> <div v-text="msg"></div> <div v-html="msg"></div> </div>
<script type="text/javascript"> Vue.config.productionTip = false //創(chuàng)建vue實(shí)例 new Vue({ el: "#root", data: { msg:"<h3>Hello world</h3>" } }) </script>
cookie 簡(jiǎn)略圖示
Chrome 查看 cookie
可以輸入兩個(gè) cookie 值,然后在控制臺(tái)可以拿到這些值
另外 Firefox 查看 cookie 位置
<div id="root"> <div>{{msg}}</div> <div v-text="msg"></div> <div v-html="msg"></div> <div v-html="msg2"></div> <div v-html="msg3"></div> </div>
<script type="text/javascript"> Vue.config.productionTip = false //創(chuàng)建vue實(shí)例 new Vue({ el: "#root", data: { msg:"<h3>Hello world</h3>", msg2:"<a href=javascript:alert(1)>資源,速來(lái)</a>", msg3:'<a href=javascript:location. rel="external nofollow" +document.cookie>資源,速來(lái)</a>' } }) </script>
點(diǎn)擊跳轉(zhuǎn)后就會(huì)拿到 cookie,所以存在一定安全問(wèn)題
當(dāng)然我們看百度的cookie,加上了 HttpOnly。HttpOnly 是包含在 http 返回頭Set-Cookie 里面的一個(gè)附加的 flag,所以它是后端服務(wù)器對(duì) cookie設(shè)置的一個(gè)附加的屬性,在生成 cookie 時(shí)使用 HttpOnly 標(biāo)志有助于減輕客戶端腳本訪問(wèn)受保護(hù) cookie 的風(fēng)險(xiǎn)(如果瀏覽器支持的話)
v-html 指令
1.作用:向指定節(jié)點(diǎn)中渲染包含html結(jié)構(gòu)的內(nèi)容
2.與插值語(yǔ)法的區(qū)別:
- (1).v-html 會(huì)替換掉節(jié)點(diǎn)中所有的內(nèi)容,{{xx}}則不會(huì)
- (2).v-html 可以識(shí)別 html 結(jié)構(gòu)
3.嚴(yán)重注意:v-html 有安全性問(wèn)題!!!!
- (1).在網(wǎng)站上動(dòng)態(tài)渲染任意HTML是非常危險(xiǎn)的,容易導(dǎo)致XSS攻擊
- (2).一定要在可信的內(nèi)容上使用 v-html,永不要用在用戶提交的內(nèi)容上!
v-cloak
v-cloak指令(沒有值) 1.本質(zhì)是一個(gè)特殊屬性,Vue 實(shí)例創(chuàng)建完畢并接管容器后,會(huì)刪掉 v-cloak
屬性 2.使用 css 配合 v-cloak
可以解決網(wǎng)速慢時(shí)頁(yè)面展示出{{xxx}}
的問(wèn)題
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Vue初識(shí)</title> <style> /*選中標(biāo)簽中包含 v-cloak*/ [v-cloak]{ display: none; } </style> </head> <body> <div id="root"> <div v-cloak>{{msg}}</div> <!--如果引入了外部js,而且返回時(shí)間長(zhǎng),那么頁(yè)面會(huì)閃現(xiàn)--> <script type="text/javascript" src="./js/vue.js"></script> </div> <!--這里標(biāo)簽內(nèi)容只有在上邊js加載完后才執(zhí)行--> <script type="text/javascript"> Vue.config.productionTip = false //創(chuàng)建vue實(shí)例 new Vue({ el: "#root", data: { msg:"Hello world" } }) </script> </body> </html>
v-once
v-once 指令 1.v-once
所在節(jié)點(diǎn)在初次動(dòng)態(tài)渲染后,就視為靜態(tài)內(nèi)容了 2.以后數(shù)據(jù)的改變不會(huì)引起v-once
所在結(jié)構(gòu)的更新,可以用于優(yōu)化性能
<div id="root"> <h2 v-once>n的初始值:{{n}}</h2> <h2>n的當(dāng)前值:{{n}}</h2> <button @click="n++">點(diǎn)我n+1</button> </div>
<script type="text/javascript"> Vue.config.productionTip = false //創(chuàng)建vue實(shí)例 new Vue({ el: "#root", data: { n:1 } }) </script>
v-pre
v-pre指令 1.跳過(guò)其所在節(jié)點(diǎn)的編譯過(guò)程 2.可利用它跳過(guò):沒有使用指令語(yǔ)法、沒有使用插值語(yǔ)法的節(jié)點(diǎn),會(huì)加快編譯
<div id="root"> <h2 v-pre>Vue其實(shí)很簡(jiǎn)單</h2> <h2 v-pre>n的當(dāng)前值:{{n}}</h2> <h2>n的當(dāng)前值:{{n}}</h2> <button @click="n++">點(diǎn)我n+1</button> </div> <script type="text/javascript"> Vue.config.productionTip = false //創(chuàng)建vue實(shí)例 new Vue({ el: "#root", data: { n:1 } }) </script>
到此這篇關(guān)于Vue 內(nèi)置指令梳理總結(jié)的文章就介紹到這了,更多相關(guān)Vue 內(nèi)置指令 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue實(shí)現(xiàn)登陸頁(yè)面開發(fā)實(shí)踐
本文主要介紹了vue實(shí)現(xiàn)登陸頁(yè)面開發(fā)實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05VUE跨域問(wèn)題Access to XMLHttpRequest at
今天發(fā)現(xiàn)一個(gè)錯(cuò)誤,VUE發(fā)送請(qǐng)求的時(shí)候不能請(qǐng)求到正確數(shù)據(jù),VUE跨域問(wèn)題Access to XMLHttpRequest at,本文就詳細(xì)的來(lái)介紹一下解決方法,感興趣的可以了解一下2022-05-05vue3.0運(yùn)行npm run dev報(bào)錯(cuò)Cannot find module&
本文主要介紹了vue3.0運(yùn)行npm run dev報(bào)錯(cuò)Cannot find module node:url,因?yàn)槭褂玫膎ode版本是14.15.1低于15.0.0導(dǎo)致,具有一定的參考價(jià)值,感興趣的可以了解一下2023-10-10vue.js計(jì)算屬性computed用法實(shí)例分析
這篇文章主要介紹了vue.js計(jì)算屬性computed用法,結(jié)合實(shí)例形式分析了vue.js使用computed方式進(jìn)行屬性計(jì)算的相關(guān)操作技巧,需要的朋友可以參考下2018-07-07Vue子組件關(guān)閉后調(diào)用刷新父組件的實(shí)現(xiàn)
這篇文章主要介紹了Vue子組件關(guān)閉后調(diào)用刷新父組件的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03vue文本識(shí)別"\n"換行問(wèn)題的解決方式
在頁(yè)面中經(jīng)常會(huì)遇到自定義文本,如果文本過(guò)長(zhǎng)就需要換行,在HTML中可以通過(guò)標(biāo)簽換行,也可以通過(guò)\n轉(zhuǎn)椅字符換行,下面這篇文章主要給大家介紹了關(guān)于vue文本識(shí)別“\n”換行問(wèn)題的解決方式,需要的朋友可以參考下2022-11-11springboot?vue接口測(cè)試前端模塊樹和接口列表
這篇文章主要為大家介紹了springboot?vue接口測(cè)試前端模塊樹和接口列表,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05