[英]angular mat-checkbox [checked] property is trigger multiple time when the value assigned dynamically
<ul>
<li *ngFor=let choice of checkboxlist.options>
<mat-checkbox [checked]=isChecked(choice) > <mat-checkbox>
<li>
<ul>
在 ts 文件中,我有 function 用于 isChecked 基于某些逻辑它返回 true 或 false(这工作正常)但函数被触发多次。
function 是否为您的checkboxlist.options
中的每个选项触发一次?
当您更新checkboxlist.options
列表中的单个选择时,它会为每个<li *ngFor
重新渲染整个 DOM,您可以帮助它变得更聪明一些。
对于循环处理少数几个选项的小型应用程序,这不是什么大问题。 但是,这是一种很好的做法,如果您的列表很大,那么您想在ngFor
中使用trackBy
如果您使用trackBy
,那么您的列表将只更新已更改的列表项。
那里有很多参考资料可以帮助您比我更好地构建 trackBy 方法,这里是另一个关于它的StackOverflow 问题的良好起点。
祝你好运!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.