2.Vue中v-if、v-for、v-show等 的几个v- 的简单总结

1.v-if   —— 条件判断 

  在元素和<template>中使用  <  v-if="XXX" > 

  在data中引用

  data:{ 

   XXX:ture   //或false

 }

2.v-show —— 与v-if 类似

 v-if是将dom节点删除后再添加,当对应的数据为false时会直接删除当前节点,只用一次显示或隐藏,选用v-if

v-show是在不改变节点的情况下添加style="display=none;"当频繁的对dom节点进行操作的时候,用v-show更好

3.v-for  —— 循环

主要是以item in site 的特殊语法,顾名思义,in是谁在谁里面,后面包括前面,后面的site是源数据数组,包括自定义的关键字,使用  {{item .name}} 方法获取数据(name为site数组中的关键字名,item与site 可自定义,使用时不要乱了即可)

4.v-on —— 事件监听(又等于@click)

事件的绑定,相当于ID,在methods中实现,通过watch来响应数据的变化

<  v-on:click="XXX" >  或 <  @click="XXX" >   //XXX是事件回调函数的名称

XXX写入methods:{

     XXX : function(){     //XXX是方法,默认不带参数,若设置参数,下面同理

}

}

5.v-blind —— 用于绑定属性(单向)

<  v-blind:class="  " >  或 <  :class="  " >  //:后面可绑定title、style、class等

6.v-model —— 双向绑定 (表单元素和model中数据的双向绑定)

只运用在表单元素中,如input、radio等等

只是简单的理解,若有错误还望谅解指正! 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue ,`v-for` 和 `v-if` 同时使用时,可能会导致性能问题。因为每次更新组件时,Vue 都需要重新计算并渲染组件的每个元素,这会增加组件的渲染时间和开销。为了优化这种情况,可以采用以下几种做法: 1. 避免在同一个元素上同时使用 `v-for` 和 `v-if`。如果必须使用,可以将 `v-if` 放在外层元素上,这样可以减少每个元素的计算量和渲染时间。 2. 将需要过滤的数据在计算属性进行处理,将处理后的数据传递给 `v-for`,从而减少每次更新组件时的计算量。 ```javascript // 在计算属性处理数据 computed: { filteredList() { return this.list.filter(item => item.isShow) } } // 在模板使用处理后的数据 <ul> <li v-for="item in filteredList" :key="item.id">{{ item.name }}</li> </ul> ``` 3. 使用 `v-show` 替代 `v-if`。`v-show` 可以根据条件来显示或隐藏元素,而不是直接销毁或创建元素,从而减少每次更新组件时的计算量。 ```html <!-- 使用 v-show 替代 v-if --> <ul> <li v-for="item in list" :key="item.id" v-show="item.isShow">{{ item.name }}</li> </ul> ``` 4. 使用 `Object.freeze()` 来冻结数据,防止对数据的无意修改导致组件的重新渲染。 ```javascript // 冻结数据 data() { return { list: Object.freeze([ { id: 1, name: 'Apple', isShow: true }, { id: 2, name: 'Banana', isShow: false }, { id: 3, name: 'Orange', isShow: true } ]) } } ``` 上述做法可以有效地优化 `v-for` 和 `v-if` 同时使用时的性能问题,减少组件的计算量和渲染时间,提高应用的性能和用户体验。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值