success 回调函数内,this.xxx显示undefined

解决建议:

1、在success()函数作用域前,声明let self = this;将self替换后续的this

2、使用箭头函数来确保 this 的上下文不变。(这个我没使用)

1、问题阐述:

在完成加入组织的逻辑时,使用了showActionSheet(),在进行操作处理时,success()内,this.addorgData无法识别出来。

2、问题产生原因:

this的指向发生变化:

this 关键字在 success 回调函数中的上下文不再指向 Vue 实例或组件本身,在JavaScript 中:函数作用域会改变 this 的指向,因此在 success 回调函数中,this 指向的是 success 函数本身,而不是 Vue 实例或组件。所以此处使用了self。

3、解决思路:

        在success()函数作用域前,声明let self = this;将self替换后续的this

代码举例:

let self = this;
//在success外声明
success(res) {
	if (parseInt(res.tapIndex) === 0) {} 
	else {
		console.log('点击了申请加入组织', orgName);
		addMembers(self.addOrgData).then(res => {})
        //替换为self.你的属性。
		uni.showToast({
			title:'申请成功',
			})
		}
},
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值