vue中@click绑定事件点击不生效的解决
作者:Jiang_JY
这篇文章主要介绍了vue中@click绑定事件点击不生效的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
@click绑定事件点击不生效
原因
根据Vue2.0官方文档关于父子组件通讯的原则,父组件通过prop传递数据给子组件,子组件触发事件给父组件。但父组件想在子组件上监听自己的click的话,需要加上native修饰符。
解决方法
方法1:在@click后加上.native(监听根元素的原生事件,使用 .native 修饰符)
@click.native = "..."
方法2:向外发送click事件
在 methods 内添加 _click 方法:
methods: { _click: function () { this.$emit('click', function () { //... }) } }
@click中不能使用三则表达式原因
@click="urgentchargeTime?urgentTime:''" //这么写的话会让vue执行的时候去data里面查找,但是我们是要用的函数
修改为:
@click="urgentchargeTime?urgentTime():''" //vue通过第一个数去data里面找,然后通过data里面的值进行去查找函数对象里面的函数
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。