Vue提供的指令有哪些,用法分别是怎样的
Admin 2022-07-01 群英技术资讯 288 次浏览
v-text
v-html
v-show
v-if
v-else
v-else-if
v-for
v-on
v-bind
v-model
v-slot
v-pre
v-cloak
v-once
注意:代表重要常用的
<p v-text="info"></p> <p v-text="'abc' + info"></p> <script> new Vue({ el: '#app', data: { info: 'a' } }) </script>
v-text="info"
渲染页面结果为a
,因为info
是个变量,就直接展示变量所对应的值
v-text="'abc' + info"
渲染页面结果为abca
,当你想用字符串和变量拼接时,可以在字符串上增加单引号,这样程序就认为你这个是个字符串,字符串+info变量最后的结果就是字符串abca
有时候我们的Vue
对象中,或者是后台返回给我们一个段原生的html
代码,我们需要渲染出来,那么如果直接通过{{}}渲染,会把这个html
代码当做字符串。这时候我们就可以通过v-html
指令来实现。
示例代码如下:
<p v-html="'<b>ok</b>'"></p> <p v-text="'<b>ok</b>'"></p>
以上两行代码除了用的vue
指令不一样以外,没有任何区别,让我们先展示结果吧
ok <b>ok</b>
v-html
可以解析html
的标签,而text
传的是字符串,不用管字符串里面具体的内容是什么,统一都直接展示出原来的字符
只渲染元素和组件一次。随后的重新渲染,元素/组件及其所有的子节点将被视为静态内容并跳过。这可以用于优化更新性能。
<input type="text" v-model="msg" v-once> // 只渲染一次 <p v-once>{{ msg }}</p>
这个指令保持在元素上直到关联实例结束编译。和 CSS
规则如 [v-cloak] { display: none }
一起用时,这个指令可以隐藏未编译的Mustache
标签直到实例准备完毕。
跳过这个元素和它的子元素的编译过程。可以用来显示原始 Mustache
标签。跳过大量没有指令的节点会加快编译。
<div id="app"> <span v-pre>{{message}}</span> </div> <script> const app = new Vue({ el: "#app", data: { message: "hello" } }) </script>
正常来讲我们会通过编译最后在网页上显示hello
,但是使用了v-pre
指令后,就会跳过编译,直接展示原始的标签内容也就是{{message}}
如果我们想要在html
元素的属性上绑定我们Vue
对象中的变量,那么需要通过v-bind
来实现。
<div id="app"> <a v-bind:href="baidu" rel="external nofollow" >百度</a> <img :src="imgSrc" alt=""> </div> <script> const app = new Vue({ el: "#app", data: { message: "hello", baidu: "https://www.baidu.com", imgSrc: "https://www.baidu.com/img/pc_a91909218349e60ed8f6f6f226c30e5f.gif" } }) </script>
我们只需要在绑定的属性前面添加v-bind
:即可,当然我们也可以使用缩写:,直接写冒号即可
绑定Class
有2种方式,一种通过数组绑定,一种通过对象绑定
通过对象的方式来实现:
<div id="app"> <p v-bind:class="{color:isColor}">你好,世界</p> </div> <script> const app = new Vue({ el: "#app", data: { isColor: true } }) </script> <style> .color{ color: blue; } </style>
对象的方式即像上面的代码{color:isColor}
,key
是color
,value
是isColor
,当value
的值为true
则渲染,为false
则不渲染
通过数组的方式来实现:
<div id="app"> <p :class="[classname1, classname2]">{{message}}</p> </div> <script> const app = new Vue({ el: "#app", data: { message: "hello", classname1: "pcolor", classname2: "fontSize" }, }) </script> <style> .pcolor{ color: red; } .fontSize{ font-size: 30px; } </style>
当class
需要绑定2个属性时,可以使用数组的方式
绑定Style也有2种方式,一种通过数组绑定,一种通过对象绑定
通过对象的方式来实现:
<div id="app"> <p :style="{fontSize:'100px'}">{{message}}</p> </div> <script> const app = new Vue({ el: "#app", data: { message: "hello" } }) </script>
注意:对象绑定的时候只能驼峰命名法fontSize,不能使用font-size否则会报错,100px加单引号就是字符串,不加则是变量,需要在data中添加变量
通过数组的方式来实现:
<div id="app"> <p :style="[style1, style2]">{{message}}</p> </div> <script> const app = new Vue({ el: "#app", data: { message: "hello", style1: {background:'red'}, style2: {fontSize:'30px'}, } }) </script>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要为大家详细介绍了js实现放大镜效果的思路与代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
这篇文章介绍了Node.js中的HTTP模块与URL模块,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
这篇文章主要介绍了如何启动一个Vue.js项目,对Vue.js感兴趣的同学,可以参考下
nodejs中想要访问根目录同级目录里的文件,开始用__dirname,发现_dirname只是追加自身的目录路径,能调取到同级目录下的文件,却不能调取其他目录下的文件,尝试把文件路径换成相对路径可以访问成功,考虑到项目中不会去层层翻目录,翻了资料nodejs的fs模块大多是结合了nodejs的path模块使用,path.resolve和path.join两个方法能传入文件路径,并且文件不存在时会
这篇文章主要给大家介绍关于JavaScript async和await的内容,一些朋友对于async和await不是很理解,对此,本文就给大家详细的介绍一下async和await的作用及原理,感兴趣的朋友就继续往下看吧。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008