say('hi')和change,为什么一个有小括号,一个没有?

say('hi')和change,为什么一个有小括号,一个没有?

say('hi')和change,为什么一个有小括号,一个没有?这两个一个表示函数调用,一个表示函数体?

<div v-on:click="say('hi')">点击我</div>

<div @click="change">修改颜色</div>

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,是的,唯一的区别就是加了括号可以传递参数。因为vue底层做了封装, 加不加括号都可以正常编译,同学可以根据实际需要选择一种书写方式。

祝学习愉快~

好帮手慕粉 2020-04-12 19:10:34

同学你好,关于同学的问题回答如下:

1、<div v-on:click="say('hi')">点击我</div>是在绑定函数的时候传递一个参数:

http://img1.sycdn.imooc.com//climg/5e92f715095cb57d05900278.jpg

2、<div @click="change">修改颜色</div>只是点击的时候触发change事件。

祝学习愉快~

  • 提问者 慕尼黑5122342 #1
    事件句柄不是一个函数体吗?say('hi')这个有小括号不是调用了函数吗? 还有<div @click="change()">也能够正常执行。 是不是事件触发的函数有传参就加小括号传参,没有传参就不加小括号?
    2020-04-13 19:16:15
  • 提问者 慕尼黑5122342 #2
    <div @click="change">老师click事件触发,是不是只写引号中的js代码,change其实是change(),只不过把小括号省略了?
    2020-04-13 20:45:08
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师