vue指令:v-once,v-pre,v-html,v-text

1.v-once
告诉浏览器,只渲染该元素或组件一次.之后不会跟着数据的变化而发生改变.

<div id="app">
	<h2 v-once>{{info}}</h2>
	<h2>{{info}}</h2>v-pre
</div>
<script src="../js/vue.js"></script>
<script>
	let app = new Vue({
		el:'#app',
		data:{
			info:'learnVue'	
		}
	});
<script>

首次打开页面,显示效果如下.
在这里插入图片描述
当在控制台将app.info的值改为study时,第一个h2的值没有发生改变,第二个h2的值发生了改变,效果如下.
在这里插入图片描述
2.v-pre
当元素里有v-pre,那么该元素及其子元素会跳过编译过程,其中的内容不会被解析.
Mustache 标签不会被解析,会以纯文本形式展示.

<div id="app" v-pre>
	{{info}}
	<p>{{name}}</p>
</div>
<script src="../js/vue.js"></script>
<script>
	let app = new Vue({
		el:'#app',
		data:{
			info:'learnVue',
			name:'lisa'
		}
	});
</script>

效果图如下:
在这里插入图片描述

3.v-html
会对数据进行解析.将html标签解析后,输出真正的html.如果数据本身是html格式,用这个指令.

<div id="app" v-html="url"></div>
<script src="../js/vue.js"></script>
<script>
	let app = new Vue({
		el:'#app',
		data:{
			url:'<a href="https://www.baidu.com/">百度一下</a>'
		}
	});
</script>

效果图:
在这里插入图片描述
4.v-text
将数据显示在页面中,与Mustache{{}}类似

<div id="app" v-text="info"></div>
<script src="../js/vue.js"></script>
<script>
	let app = new Vue({
		el:'#app',
		data:{
			info:"learnVue"
		}
	});
</script>

效果图如下:
在这里插入图片描述
但是,v-text一般不用,不够灵活.会覆盖元素里原有内容.
eg:

<div id="app" v-text="info">helloWorld</div>

上面代码最终还是会显示"learnVue", helloWorld被覆盖掉.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值