angular 中使用get的方式赋值变量,出现的无限循环

问题描述

在异步获取数据后,将数据赋值给组件中的一个变量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的这种触发机制的一些变化吗?求解答

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