1-3.Vue内部指令

Vue入门

vue内部指令--------v-text &&v-html

v-text指令与v-html指令:

  1. 对于v-text指令
    在网页中输出data中的值时可以采用 {{messages}} 的方式输出但是这样子会有弊端;
    当网速缓慢或是javascript出错时,会将 {{messages}} 中的内容暴漏出来。
    这是可以采用 v-text指令将结果输出。
    例子:
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>整合</title>
		<script src="../assets/js/vue.js"></script>
	</head>
	<body>
		<div id="demo">
			<h1 v-text="messages"></h1>
		</div>
		<script type="text/javascript">
			var test=new Vue({
				el:'#demo',
				data:{
					messages:'这是v-text的一个小测试'
				}
			})
		</script>
	</body>
</html>

或是用{{xxx}}将内容输出,但一般不建议这么做

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>整合</title>
		<script src="../assets/js/vue.js"></script>
	</head>
	<body>
		<div id="demo">
			<h1>{{messages}}</h1>
		</div>
		<script type="text/javascript">
			var test=new Vue({
				el:'#demo',
				data:{
					messages:'这是v-text的一个小测试'
				}
			})
		</script>
	</body>
</html>

以上两者运行的结果都是一样的:
在这里插入图片描述

  1. 对于v-html指令

如果在javascript中写有html标签,用v-text是输出不出来的,这时候我们就需要用v-html标签了。

例子:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>整合</title>
		<script src="../assets/js/vue.js"></script>
	</head>
	<body>
		<div id="demo">
			<p v-html="messages"></p>
		</div>
		<script type="text/javascript">
			var test=new Vue({
				el:'#demo',
				data:{
					messages:'<h1>我们是好样的,学习使用v-html标签</h1>'
				}
			})
		</script>
	</body>
</html>

运行结果:
在这里插入图片描述
注意!注意!注意!
1.双大括号会将数据解释为纯文本,而非HTML;
2.在生产环境中动态渲染HTML是非常危险的,因为容易导致XSS攻击
所以永远不要在用户提交和可操作的网页上使用v-html内部指令。

发布了32 篇原创文章 · 获赞 3 · 访问量 517

猜你喜欢

转载自blog.csdn.net/weixin_43913219/article/details/103948594
今日推荐