如何在 ion-checkbox 中使用 ngModel?

Mak*_*sim 5 javascript ionic-framework ionic2 angular

我正在尝试与 ngModel 一起使用,但 ngModel 在那里不起作用。我的代码:

<ion-checkbox *ngFor="#item of items" [(ngModel)]="item.checked">
  {{item.name}}
</ion-checkbox>
Run Code Online (Sandbox Code Playgroud)

但我收到一个错误:

例外:表达式“在 AddInterestItem@5:2 中检查”在检查后已更改。以前的值:'假'。当前值:[在 AddInterestItem@5:2 中检查] 中的“false”

示例数据:

this.items = [ 
  {name: 'Dancing', checked: false}, 
  {name: 'Jazz', checked: false}, 
  {name: 'Metal', checked: true}, 
  {name: 'Pop', checked: false}, 
  {name: 'Rock\'n\'Roll', checked: false}, 
  {name: 'Folk Metal', checked: true} 
];
Run Code Online (Sandbox Code Playgroud)

mic*_*yks 5

我不熟悉<ion-checkbox>。但是当我试图用 normal 重复你的故事时 <input type="checkbox" />,我无法通过input type="checkbox"直接应用 ngFor 获得成功。所以我所做的,我<ul><li *ngFor="#item of items" >把我input type="checkbox"的东西放进去,它开始按预期工作。

我觉得MyAnswer可以进一步帮助您。

在我的情况下不起作用

<input  type="checkbox" *ngFor="#item of items" [(ngModel)]="item.checked" />{{item.name}}  
/* I don't know some error occurs. you can check my plunkr by modifying it/*.
Run Code Online (Sandbox Code Playgroud)

工作正常

    <ul>
        <li *ngFor="#item of items">{{item.name}}
            <input type="checkbox" [(ngModel)]="item.checked" />
        </li>
    </ul>
Run Code Online (Sandbox Code Playgroud)


小智 5

Ionic 4 的快速更新:

HTML:

<ion-checkbox [(ngModel)]="iLikeIt.isChecked"></ion-checkbox>
Run Code Online (Sandbox Code Playgroud)

时间:

iLikeIt={isChecked:false}
Run Code Online (Sandbox Code Playgroud)