Firfox中兼容问题

页面有一个开关,用的vue switch 开关组件,在谷歌浏览器可以,火狐就不兼容,在火狐下报错‘event is not defined’

Vue.component('t-switch', {

props: {
    itemData: {
        type: Object,
        default: function () {
            return {
            }
        }
    }
},
template: `<div class='switch switch-inline' style='height: 20px'>
    <input type='checkbox' v-model='switch.is_open' v-on:change='switchClick(itemData)'>
    <label></label>
</div>`,
methods:{
    switchClick:function (row) {
        var el = event.currentTarget;
        if (el.checked) {
            status = 1
        } else {
            status = 2
        }
        TourismLoading.show();
        $.get('url', {
            id: row.id,
            is_open: status
        }, function (request) {
            TourismLoading.hide();
            if (parseInt(request.code) === 0) {
                success('成功');
            } else {
                error(request.message);
                return false;
            }
        })
    }
},
computed:{
    switch(){
        var _self = this;
        if(_self.itemData.is_open == 2){
            _self.itemData.is_open = 0;
        }
        return _self.itemData;
    }
}

});

怎么才能让他兼容呢,试了网上的一些方法,都不可以

阅读 1.8k
2 个回答
v-on:change='switchClick(itemData,$event)'

把event对象传加上

官网示例:

<button v-on:click="warn('Form cannot be submitted yet.', $event)">
  Submit
</button>
// ...
methods: {
  warn: function (message, event) {
    // 现在我们可以访问原生事件对象
    if (event) event.preventDefault()
    alert(message)
  }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题