vue---内置指令

本文详细介绍了Vue.js中的v-text、v-html、v-cloak、v-once和v-pre五个核心指令,包括它们的作用、区别以及在实际开发中的注意事项,特别强调了v-html的安全风险和性能优化潜力。
摘要由CSDN通过智能技术生成

1.v-text指令

  1. 作用:向其所在的节点中渲染文本内容。
  2. 与插值语法的区别:v-text会替换掉节点中的内容,插值语法{{xx}}则不会。

2.v-html指令

  1. 作用:向指定节点中渲染包含html结构的内容。
  2. 与插值语法的区别:
    (1).v-html会替换掉节点中所有的内容,{{xx}}则不会。
    (2).v-html可以识别html结构。(例如解析a标签,可以点击跳转)
  3. 严重注意:v-html有安全性问题!!!!
    (1).在网站上动态渲染任意HTML是非常危险的,容易导致XSS攻击。
    (2).一定要在可信的内容上使用v-html,永不要用在用户提交的内容上!

3.v-cloak指令(没有值)

  1. 本质是一个特殊属性,Vue实例创建完毕并接管容器后,会删掉v-cloak属性。
  2. 使用css配合v-cloak可以解决网速慢时页面展示出{{xxx}}的问题。(Vue实例创建完毕之前,可以利用[v-cloak]{display:none;}把元素隐藏)
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8" />
		<title>v-cloak指令</title>
		<style>
			[v-cloak]{
				display:none;
			}
		</style>
	</head>
	<body>	
		<div id="root">
			<h2 v-cloak>{{name}}</h2>
		</div>
		<!-- 引入Vue -->
		<script type="text/javascript" src="http://localhost:8080/resource/5s/vue.js"></script>
	</body>	
	<script type="text/javascript">		
		new Vue({
			el:'#root',
			data:{
				name:'小明'
			}
		})
	</script>
</html>

4.v-once指令

  1. v-once所在节点在初次动态渲染后,就视为静态内容了。
  2. 以后数据的改变不会引起v-once所在结构的更新,可以用于优化性能。
<!DOCTYPE html>
<html>
   <head>
   	<meta charset="UTF-8" />
   	<title>v-once指令</title>
   	<!-- 引入Vue -->
   	<script type="text/javascript" src="../js/vue.js"></script>
   </head>
   <body>
   	<div id="root">
   	    <  !-- 这里的n不会在变化 -->
   		<h2 v-once>初始化的n值是:{{n}}</h2>
   		
         <  !-- 这里的n动态变化 -->
   		<h2>当前的n值是:{{n}}</h2>
   		<button @click="n++">点我n+1</button>
   	</div>
   </body>
   <script type="text/javascript">
   	new Vue({
   		el:'#root',
   		data:{
   			n:1
   		}
   	})
   </script>
</html>

5.v-pre指令

  1. 跳过其所在节点的编译过程。
  2. 可利用它跳过:没有使用指令语法、没有使用插值语法的节点,会加快编译。
  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值