项目场景:

我从接口获取到银行卡号列表,然后训话匹配开户行名称,结果用了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);
				}
			})

在这里插入图片描述

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐