vue-条件和循环渲染

v-for的使用方式(通常用在遍历数组中)

v-for="(nav,index) in navbar"

nav:数值             index:索引         navbar:数组

vue中在进行列表渲染的时候,会默认遵守 ‘就地复用策略’。

用key管理可复用的元素,key属性必须是唯一的标识

建议尽量在使用v-for时提供key属性,除非遍历输出的DOM内容非常简单

vue中v-if 和 v-show的区别

1.共同点:v-if 和 v-show 都可以动态地显示DOM元素
2.区别
(1)手段:
v-if 是动态的向DOM树内添加或者删除DOM元素;
v-show 是通过设置DOM元素的display样式属性控制显隐;

当模板属性为true时,控制台显示display:block;

属性为false时,控制台显示display:none。

(2)编译过程:
v-if 切换有一个局部编译/卸载的过程,切换过程中合适地销毁和重建内部的事件监听和子组件;
v-show只是简单的基于css切换;

(3)编译条件:
v-if 是惰性的,如果初始条件为假,则什么也不做;只有在条件第一次变为真时才开始局部编译(编译被缓存?编译被缓存后,然后再切换的时候进行局部卸载);
v-show 是在任何条件下(首次条件是否为真)都被编译,然后被缓存,而且DOM元素保留;

(4)性能消耗:
v-if 有更高的切换消耗;
v-show 有更高的初始渲染消耗;

(5)使用场景:
v-if 适合运营条件不大可能改变;
v-show 适合频繁切换。

v-on

v-on指令是事件绑定指令,当用户需要点击,按下键盘,滚动鼠标等操作时,想要添加一些自己的逻辑处理时,就可以为特定的元素绑定一些特定的事件。

//v-on的使用
<div id="app">
    <input type="button" value="事件绑定" v-on:事件名="方法名">
</div>

//假设如果是点击事件就写click,如果是鼠标移入事件就写monseenter,
//如果是鼠标双击事件就写 dblclick
<div id="app">
	<input type="button" value="事件绑定" v-on:click="方法名">
	<input type="button" value="事件绑定" v-on:mouseenter="方法名">
	<input type="button" value="事件绑定" v-on:dblclick="方法名">
</div>

//方法我们写在methods里面 
<body>
		<div id="app">
			<input type="button" value="事件绑定" v-on:click="todo">
			<input type="button" value="事件绑定" v-on:mouseenter="todo">
			<input type="button" value="事件绑定" v-on:dblclick="todo">
		</div>
		<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
		<script>
			var  app = new Vue({
				el:"#app",
				methods:{
					todo:function() {
						//方法执行的逻辑
					}
				}
			})
		</script>
	</body>

//v-on的简写  用@符号替代v-on  
<div id="app">
	<input type="button" value="事件绑定" @click="todo">
	<input type="button" value="事件绑定" @mouseenter="todo">
	<input type="button" value="事件绑定" @dblclick="todo">
</div>

 访问data中的数据,通过this关键字

 

Hover 功能

  • @mouseover:当鼠标移入元素或其子元素都会触发事件,所以有一个重复触发,冒泡过程。对应的移除事件是 @mouseout

  • @mouseenter:当鼠标移入元素本身(不包含元素的子元素)会触发事件,也就是不会冒泡。对应的移除事件是 @mouseleave

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值