Vue 内置指令
一、v-text指令
1、作用:渲染所在节点的文本内容
2、区别:与插值语法的区别,v-text会替换掉节点的内容,{{xx}}不会
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>v-text指令</title> <script type="text/javascript" src="../js/vue.js"></script> </head> <body> <div id="container"> <h2>你好,{{name}}</h2> <!-- v-text会全部替换节点内容,{{}}不会 --> <h2 v-text="name">你好,</h2> </div> </body> <script type="text/javascript"> new Vue({ el:'#container', data:{ name:'jojo' }, }) </script> </html>
二、v-html指令
1、作用:渲染节点所在文本的内容包括html格式
2、区别
a、与插值语法,v-html全部替换,插值语法不会
b、与v-text区别,v-html会渲染html标签,v-text不会
3、注意:v-html不安全,不能大量使用
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>v-text指令</title> <script type="text/javascript" src="../js/vue.js"></script> </head> <body> <div id="container"> <div>你好,{{name}}</div> <!-- v-text会全部替换节点内容,{{}}不会 --> <div v-text="name">你好,</div> <!-- v-html 渲染html格式 --> <div v-html="name"></div> </div> </body> <script type="text/javascript"> new Vue({ el:'#container', data:{ name:'<h2>jojo</h2>' }, }) </script> </html>
三、v-cloak指令
1、作用:与style格式一起使用,解决网页加载慢出现{{xxx}}的尴尬情况
2、原理:v-colak没有值,当使用vm时,删除容器中的v-cloak属性,可以有css样式配合使用,隐藏html内容
3、结论:当不加载vm时,[v-cloak]属性隐藏标签,当加载vm时,v-cloak属性,从标签中消失
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>v-cloak指令</title> <!-- v-cloak选择器--> <style> [v-cloak]{ display: none; } </style> </head> <body> <div id="container"> <h2 v-cloak>{{name}}</h2> </div> <script type="text/javascript" src="../js/vue.js"></script> </body> <script type="text/javascript"> new Vue({ el:'#container', data:{ name:'jojo' }, }) </script> </html>
四、v-once指令
1、作用:v-once所在节点在初次动态渲染后,视为静态内容
2、特点:v-once没有值和v-cloak与v-pre一样
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>v-once指令</title> <script type="text/javascript" src="../js/vue.js"></script> </head> <body> <div id="container"> <h2 v-once>显示初始的数据:{{num}}</h2> <h2>显示现在的数据:{{num}}</h2> <button @click="num++">点击</button> </div> </body> <script type="text/javascript"> new Vue({ el:'#container', data:{ num:1 }, }) </script> </html>
五、v-pre指令
1、作用:跳过所在节点的编译,可以在没有使用插值语法或指令语法的地方用,加快编译过程
2、特点:v-pre没有值与v-once、v-cloak一样
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>v-pre指令</title> <script type="text/javascript" src="../js/vue.js"></script> </head> <body> <div id="container"> <!-- v-pre跳过当前节点编译,是插值语法{{}}不编译 --> <h2 v-pre>你好,{{name}}</h2> <h2 v-pre>Hello</h2> <!-- v-pre 跳过当前节点编译,使v-text不编译 --> <h2 v-pre v-text="name">123</h2> </div> </body> <script type="text/javascript"> new Vue({ el:'#container', data:{ name:'jojo' }, }) </script> </html>

浙公网安备 33010602011771号