怎么判断传递的是:函数引用还是函数的返回值?
这两种绑定事件有什么区别?
第一种方式绑定事件:
<el-switch :before-change="() => beforeChangeHandler(scope.row)"/>
第二种方式绑定事件:
<el-switch :before-change="beforeChangeHandler(scope.row)" />
很多同学以为这2种方式绑定事件的方式是相同的,没有什么区别。其实是有区别的。
区别
1,触发的时机不同:
第一种:用户点击开关时才会被 beforeChangeHandler 事件
第二种:组件渲染阶段就会执行 beforeChangeHandler 事件
2,传递的内容不同:
第一种:传递的是一个函数引用
第二种:传递的是函数返回值
如何判断传递的是函数引用还是返回值?
最简单的判断方法:
如果是使用的箭头函数绑定,是函数引用
如果直接绑定,有括号,返回值。无括号,函数引用。
还有一种方法来判断:看控制台,立即执行的是函数返回值。否则就是函数引用。
| 写法 | 传递的是 | 说明 |
|---|---|---|
| :prop="handler" | ⭐ 函数引用 | 没有括号,直接传函数 |
| :prop="handler()" | 📦 返回值 | 有括号,立即执行并传结果 |
| :prop="() => handler()" | ⭐ 函数引用 | 箭头函数包裹,延迟执行 |
| :prop="() => handler" | ⭐ 函数引用 | 箭头函数返回函数 |
遇见问题,这是你成长的机会,如果你能够解决,这就是收获。
作者:晚来南风晚相识
出处:https://www.cnblogs.com/IwishIcould/
本文版权归作者所有,欢迎转载,未经作者同意须保留此段声明,在文章页面明显位置给出原文连接
如果文中有什么错误,欢迎指出。以免更多的人被误导。
出处:https://www.cnblogs.com/IwishIcould/
想问问题,打赏了卑微的博主,求求你备注一下的扣扣或者微信;这样我好联系你;(っ•̀ω•́)っ✎⁾⁾!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,或者关注博主,在此感谢!
万水千山总是情,打赏5毛买辣条行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主(っ•̀ω•́)っ✎⁾⁾!
想问问题,打赏了卑微的博主,求求你备注一下的扣扣或者微信;这样我好联系你;(っ•̀ω•́)っ✎⁾⁾!
支付宝
微信
如果文中有什么错误,欢迎指出。以免更多的人被误导。

浙公网安备 33010602011771号