解决uniapp中使用BIN.getBankBin获取银行开户行名时循环赋值不到问题

Posted 野猪佩奇007

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决uniapp中使用BIN.getBankBin获取银行开户行名时循环赋值不到问题相关的知识,希望对你有一定的参考价值。

项目场景:

我从接口获取到银行卡号列表,然后训话匹配开户行名称,结果用了BIN.getBankBin匹配方法之后里面的数据赋值不到外层数据

_this.$apiQUserBanklist().then(res => 
				if (res.data.code == 200) 
					_this.termlist = JSON.parse(JSON.stringify(res.data.rows));
					for (var i = 0; i < _this.termlist.length; i++) 
						BIN.getBankBin(self.termlist[i].cardNo).then(function(one) 
							_this.termlist[i].bankName = one.bankName;
							console.log(_this.termlist[i].bankName);
						)
					
					console.log(this.termlist);
				
			)

问题描述

BIN.getBankBin方法里面取不到外层的this以及循环的 index ,所以赋值一直是最后一个开户行名称

解决方案:

const self = _this;
const ils = i
把this和训话下标 i 都命名为常量const,
这样方法里面就能获取到外层的指向了,完整代码如下:

_this.$apiQUserBanklist().then(res => 
				if (res.data.code == 200) 
					_this.termlist = JSON.parse(JSON.stringify(res.data.rows));
					for (var i = 0; i < _this.termlist.length; i++) 
						const self = _this;
						const ils = i
						BIN.getBankBin(self.termlist[ils].cardNo).then(function(one) 
							self.termlist[ils].bankName = one.bankName;
						)
					
					console.log(this.termlist);
				
			)

以上是关于解决uniapp中使用BIN.getBankBin获取银行开户行名时循环赋值不到问题的主要内容,如果未能解决你的问题,请参考以下文章

uniapp中H5在部分老版本机型中打开出现空白页的问题解决

一劳永逸解决uniapp uparse 图片越界的问题

解决“0.1 + 0.2 = 0.30000000000000004” - uniapp中JS浮点运算精度问题 - uniapp引入decimal.jsmath.js等数学库

解决“0.1 + 0.2 = 0.30000000000000004” - uniapp中JS浮点运算精度问题 - uniapp引入decimal.jsmath.js等数学库

解决“0.1 + 0.2 = 0.30000000000000004” - uniapp中JS浮点运算精度问题 - uniapp引入decimal.jsmath.js等数学库

如何解决h5、vue、uniapp等项目缓存问题