ngModel не работает (модуль форм, который я импортировал)

#angular #angular-material #angular-ngmodel #angular2-ngmodel

Вопрос:

Я импортировал forms module . Также я включил в imports раздел все еще получаю ошибку. Это ошибка выделения только в html-файлах. Я не в состоянии понять эту проблему.

 <textarea rows="6" [(ngModel)] ="enteredValue"  ></textarea>
<hr>
<button (click)="onAddPost()">Save Post</button>

<p>{{ newPost }}</p>
 

Файл компонента:-

 import { Component  } from "@angular/core";
@Component({
    selector : 'app-post-create',
    templateUrl: './post-create.component.html'
})
export class PostCreateCompomnet{

    newPost ='I am Genius';

    onAddPost(){
        this.newPost= this.enteredValue;  // this is the value of ngModel
    }

}
 

модуль приложения

 import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms'; 
import { AppComponent } from './app.component';
import { PostCreateCompomnet } from './posts/post-create/post-create.component';

@NgModule({
  declarations: [
    AppComponent,
    PostCreateCompomnet

  ],
  imports: [
    BrowserModule,
    FormsModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }
 

введите описание изображения здесь

Может кто-нибудь, пожалуйста, помочь мне разобраться в этой проблеме. Я новичок в Angular

Комментарии:

1. Пожалуйста, добавьте код вашего компонента в свой вопрос. Кроме того, если вы используете плагин VS Code, такой как языковая служба Angular, он будет регистрировать ошибки до тех пор, пока ваш компонент не станет частью модуля.

2. Вы проверяли, было ли enteredvalue объявлено в соответствующем файле component.ts или нет? Также проверьте чувствительность к регистру.

3. Спасибо….. Я добавил код файлов компонентов и модулей

Ответ №1:

Вам необходимо изменить файл component.ts, как показано ниже,

 export class PostCreateCompomnet {

  newPost = 'I am Genius';
  enteredValue: string; // Missing declaration

  onAddPost() {
    this.newPost = this.enteredValue;
  }

}
 

Декларация для enteredValue отсутствовала.

Комментарии:

1. большое тебе спасибо, Уткарш.