v-if 和 v-show区别?项目为什么data是一个函数不是一个对象?

文章探讨了Vue.js中v-if和v-show指令的区别,v-if适用于条件不常改变,因为它涉及元素的真正创建和销毁,而v-show适合频繁切换,仅改变元素的display属性。另外,解释了为何组件的data必须是函数返回的对象,以防止全局变量污染和数据冲突,确保组件的独立性和复用性。
摘要由CSDN通过智能技术生成

v-if 和 v-show区别?

v-if是惰性的,如果一开始条件不满足,元素就不会被渲染直到条件满足才开始渲染元素,对应的是子组件和监听器的重新创建和销毁。

v-show 无论条件满不满足都会渲染元素,通过css属性显示或者隐藏元素,满足条件显示元素,条件不满足条隐藏元素,对应display:none

v-if条件很少改变  v-show频繁切换

v-if 对应的是元素的删除和添加 v-show对应的元素的显示和隐藏

项目为什么data是一个函数不是一个对象?

因为组件是可复用的实例,如果其他页面也用到了该组件,如果不使用return包裹数据就会全局可见,造成变量污染只要其中一个页面更改数据 其他页面用到该组件的变量也会被修改,因此组件中的data必须是一个函数 使用return返回一个对象,vue根实例可以是一个对象 其他组件data必须是函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值