Angular5 *ngIf=“afunctioncall(); let L”导致函数被调用 4 次
Angular5 *ngIf=“afunctioncall(); let L” results in the function being called 4 times
我正在使用 Angular 5,我希望在根据函数调用的结果从数组中找到一个元素后 return 一个对象,然后我将 let L
用作一个可变对象来保存它。
当我这样做时,我注意到该函数被调用了多次。
我创建了一个 stack-blitz 来显示这种情况。此处该函数被调用了 4 次,但在我的本地应用程序中,它被调用了 6 次以上。
https://stackblitz.com/edit/angular-ypwswn
我知道这是因为更改检测周期。但我想不出如何从逻辑上解决这种情况。
我看过以下 post 但是它与 Angular 2 相关。我不确定它是否相关
'console.log输出4次
任何人都可以指出我或者我遗漏了什么吗?
有什么办法可以避免吗?
任何帮助将不胜感激。
我需要将数组传递给该方法并从该数组中获取选定的腿。
在您的模板上调用 ngOnInit 中的函数
export class AppComponent implements OnInit {
finaldata : any;
ngOnInit() {
this.finaldata = this.getSelectedLeg(this.data);
}
}
在html
<div *ngIf="finaldata; let L">
</div>
我正在使用 Angular 5,我希望在根据函数调用的结果从数组中找到一个元素后 return 一个对象,然后我将 let L
用作一个可变对象来保存它。
当我这样做时,我注意到该函数被调用了多次。
我创建了一个 stack-blitz 来显示这种情况。此处该函数被调用了 4 次,但在我的本地应用程序中,它被调用了 6 次以上。
https://stackblitz.com/edit/angular-ypwswn
我知道这是因为更改检测周期。但我想不出如何从逻辑上解决这种情况。
我看过以下 post 但是它与 Angular 2 相关。我不确定它是否相关
'console.log输出4次
任何人都可以指出我或者我遗漏了什么吗?
有什么办法可以避免吗?
任何帮助将不胜感激。
我需要将数组传递给该方法并从该数组中获取选定的腿。
在您的模板上调用 ngOnInit 中的函数
export class AppComponent implements OnInit {
finaldata : any;
ngOnInit() {
this.finaldata = this.getSelectedLeg(this.data);
}
}
在html
<div *ngIf="finaldata; let L">
</div>