Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

error TS2322: Type 'Event' is not assignable to type 'boolean'

I‘m writing a todolist demo. When ng serve it, it shows an error:

Error: src/app/app.component.html:17:58 - error TS2322: Type 'Event' is not assignable to type 'boolean'.
17  <input class="toggle" type="checkbox" [(ngModule)]="todo.isDone" >
                                                       ~~~~~~~~~~~~~~
18 
19  <label>{{ todo.title }}</label>
   ~~

Also all items not be checked.(even their isDone status is true)

I def an object in app.component.ts.

public todos:{
    id:number,
    title: string,
    isDone: boolean
  }[]=todos

const todos=[
  {
  id:1,
  title:'study',
  isDone:true
},{
  id:2,
  title:'sleep',
  isDone:true
},{
  id:3,
  title:'drink',
  isDone:true
}
]

app.component.html as below.

<li *ngFor="let todo of todos">
                <div class="view">
                    <input class="toggle" type="checkbox" [(ngModule)]="todo.isDone" >
                    <label>{{ todo.title }}</label>
                    <button class="destroy"></button>
                </div>
                <input class="edit" value="Create a TodoMVC template">
            </li>

Can anyone see what I'm doing wrong? thanks!

like image 790
RainOnMe77 Avatar asked Jan 12 '21 14:01

RainOnMe77


2 Answers

When I got this error, it was because I forgot to import the FormsModule in app.module.ts. So in app.module.ts:

import { FormsModule } from '@angular/forms';
...
imports: [
..,
FormsModule
],
like image 154
anosha_rehan Avatar answered Sep 20 '22 20:09

anosha_rehan


change you code from <input class="toggle" type="checkbox" [(ngModule)]="todo.isDone" > to this...

<input class="toggle" type="checkbox" [(ngModel)]="todo.isDone" >

Here, ngModule is not recognizing..

like image 28
GaurangDhorda Avatar answered Sep 16 '22 20:09

GaurangDhorda