繁体   English   中英

angular mat-checkbox [checked]属性动态赋值时触发多次

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM