web-dev-qa-db-fra.com

ERREUR TS2322: TYPE 'EVENT' n'est pas assignable à taper "chaîne". [(ngmodel)] = "toDoItem" (porte-clés) = "addtodo ()"

J'essaie de lier mon entrée pour pouvoir afficher une chaîne. Mais j'ai cette erreur:

Erreur: list.component.html: 3: 15 - Erreur TS2322: Type 'Event' n'est pas assignable à la touche 'String'. .

3 [(ngmodel)] = "TODOITEM" ~~~~~~~~~~ 4 (Keyup) = "addtodo ()"


src/app/components/todo-list/todo-list.component.ts:5:16
  5   templateUrl: './todo-list.component.html',




todo-list.componentn.html :


    <input type="text"
   placeholder="What needs to be done" 
   [(ngModel)]="todoItem"
   />
  
      <div class="item-left"  *ngFor="let todo of todos">
          <input type='checkbox' >
          <p>{{todo.title}}</p>
      </div>

todo-list.component.ts:

  
  import { Component, OnInit } from '@angular/core';
  
  @Component({
    selector: 'app-todo-list',
    templateUrl: './todo-list.component.html',
    styleUrls: ['./todo-list.component.css'],
  })
  export class TodoListComponent implements OnInit {
    todos!: Todos[];
    todoItem!: string;
    constructor() {}
  
    ngOnInit(): void {
      this.todoItem = '';
      this.todos = [
        {
          id: 1,
          title: 'Surya',
        },
      ];
    }
 
  }

//interface to help with type error

  interface Todos {
    id: number;
    title: string;
  }

19
user14432224

vérifiez que le module de composant existe dans APP.MODULE.TS Fichier

0
viyazoru

Dans mon cas, c'était réactifformsmodule qui manquait dans mon module:

import { ReactiveFormsModule } from '@angular/forms';

...

  imports: [
     ...
     ReactiveFormsModule,
     ...
  ]
0
Goran