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里面的值进行去查找函数对象里面的函数

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

你可能感兴趣的:(vue中@click绑定事件点击不生效的解决)