layer配合vue为什么弹窗回调里面拿不到data的值

subContactUs: function getHomeData() {
    $.ajax({
        type: "get",
        data: {
            content: this.contactFrom.content,//这边没问题,可以拿到
            name: this.contactFrom.name,
            address: this.contactFrom.address
        },
        url: API.index.contactUs,
        dataType: "json",
        success: function success(res) {
            if (res.status == 1) {
                console.log(res);
                layer.open({
                    ... 
                    yes: function() {
                        this.contactFrom.name = '' //这边回调报nameundefind,这是为什么
                        layer.closeAll();
                    }
                });
            }
        }
    });
}
阅读 1.8k
1 个回答

this的指向问题,用箭头函数,或者在最外层that = this,yes回调中使用that.contactFrom.name

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题