当ts文件如下所示时,它没有在html中显示[value]="targetEmployeeonpopup"数据:
targetEmployeeonpopup: Employees[]=[];
this.targetEmployeeonpopup.push({ uid: "aa",
firstName: "aa",
lastName: "aa",
supervisorInd: true}); 当ts为:
this.targetEmployeeonpopup=[{ uid: "aa",
firstName: "aa",
lastName: "aa",
supervisorInd: true}];我能得到关于这个问题的任何原因的反馈吗?
发布于 2018-11-21 22:16:52
我相信你所面临的问题是因为优化的原因。
我相信这张表是经过优化的,只适用于检测策略OnPush。
这意味着它不会检测到对象的内部变化(突变)。当您执行push时,您是在变异对象,而不是创建新的引用。
尝试做同样的事情,但是使用spread operator代替。
类似于:
this.targetEmployeeonpopup = [...this.targetEmployeeonpopup,{ uid: "aa", firstName: "aa", lastName: "aa", supervisorInd: true}];spread operator将使用新元素创建一个新对象。这将触发表上的角度变化检测。因为它不是在变异原始的对象。
https://stackoverflow.com/questions/53421018
复制相似问题