问题描述
在异步获取数据后,将数据赋值给组件中的一个变量factoryList。而另一个变量gradeList是通过get func()的方式赋值,然后出现了无限循环赋值的情况
问题出现的环境背景及自己尝试过哪些方法
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
<!-- gradeList的赋值 -->
get gradeList() {
return this.factoryList.map((item) => {
console.log(item);
return { grade: item.grade, gradeName: item.gradeName };
});
}
<!-- factoryList 的赋值 -->
this.factoryList$$ = this._service.getFactoryList().subscribe(res => {
this.isCardLoading = false;
this.factoryList = res;
this.gradeList = this.factoryList.map((item) => {
console.log(item);
return { grade: item.grade, gradeName: item.gradeName };
});
console.log(res);
if (res.length > 0) this.gradeChange$.next(res[0].grade);
}, error => {
this.isCardLoading = false;
});
你期待的结果是什么?实际看到的错误信息又是什么?
这个无限循环我可以通过另一种赋值方式解决。我想知道的是,为什么这里会触发无限赋值循环。这个是老版本的代码,按道理测试通过了,说明以前可以用。是因为框架的升级,导致了get的这种触发机制的一些变化吗?求解答