VueJS& Laravel,当用户离开屏幕时做一个帖子请求

时间:2016-03-05 15:45:27

标签: javascript laravel vue.js

请寻求一些帮助。

我需要检查输入是否已填写,然后如果用户将屏幕留在选项卡或后退按钮等,则发布请求。

 sendSMS: function(e) {
        if(this.to) {
            this.$http.post('/demo/send', message)
        }
 }

当输入不为空并且用户离开站点区域屏幕时,我需要说些什么,即向上朝向选项卡或后退按钮,然后执行发布请求。因此,没有按下任何按钮来提交它,而是检查输入是否已填写以及用户是否离开屏幕。

如何使用我正在使用的上述方法使用VueJS?

1 个答案:

答案 0 :(得分:2)

在页面关闭时运行js函数:Run JavaScript code on window close or page refresh?

您希望在Vue中的ready函数中添加事件侦听器:

....
data:function(){
    return {sentRequest:false}
},
ready:function(){
    window.onbeforeunload = this.leaving;
    window.onblur = this.leaving;
    window.onmouseout = this.leaving;

},
methods:{
    leaving:function(){
        if(!this.sentRequest){
             //do stuff
             this.sentRequest = true;
        }
        return null;
    }
}
....