所以我继承了一个不完全从ionic3移植到ionic4的项目。更新某些<ion-checkbox>实例时,我不得不更改:
<ion-checkbox
checked="selected.get(request.id)"
(click)="selectItem(request.id)"
color="tertiary"
slot="start"
>
Run Code Online (Sandbox Code Playgroud)
到:
<ion-checkbox
(ngModel)="selected.get(request.id)"
(click)="selectItem(request.id)"
color="tertiary"
slot="start"
>
Run Code Online (Sandbox Code Playgroud)
让它正确切换。的使用checked导致它在每次第一次点击时失火,并且从那一点向前反转值。
(ngModel)在这种情况下到底在做什么?这基本上是离子文档中显示的未记录功能,没有解释或示例使用...
请注意,在同一视图中其他地方使用该布尔值的selectedaMap<number, boolean>和用法按预期工作。
编辑:我知道 HTML 属性和 ng 数据模型之间的区别,我只是不清楚该机制在这里是如何工作的......
在高层次上,checked属于 HTML 而ngModel属于 Angular。
[检查]
checked 是复选框的 HTML 属性,在 angular 中,您可以使用以下代码设置复选框的选中属性。
[checked]="item.checked"
Run Code Online (Sandbox Code Playgroud)
[(ngModel)]
[(ngModel)]是用于双向绑定的 Angular 属性,这意味着您在.ts文件中所做的任何更改都将反映在您的视图中,并且也会以其他方式反映。更多信息
[(ngModel)]="item.checked"
Run Code Online (Sandbox Code Playgroud)
现在,你什么时候使用这些?[checked]当您的要求只是设置元素的检查属性时使用,而您用于[(ngModel)]将元素值绑定到.ts文件中的变量,以便您可以访问它以用于背后的逻辑。
| 归档时间: |
|
| 查看次数: |
1118 次 |
| 最近记录: |