Angular 报错解决

在Angular应用中遇到'Can't bind to 'formGroup' since it isn't a known property of 'form''错误?问题可能出在没有同时引入FormsModule和ReactiveFormsModule。同时,如果在Service中使用Http模块,别忘了在app.module.ts中注入HttpModule。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. Can't bind to 'formGroup' since it isn't a known property of 'form' 错误描述

    当form表单加FormGroup属性时报错 Can't bind to 'formGroup' since it isn't a known property of 'form'
    <form [formGroup]="loginForm">
          <div class="form-group">
            <label for="email">Email:</label>
            <input type="email" class="form-control" id="email" placeholder="Enter email">
          </div>
          <div class="form-group">
            <label for="pwd">Password:</label>
            <input type="password" class="form-control" id="pwd" placeholder="Enter password">
          </div>
          <div class="form-check">
            <label class="form-check-label">
              <input class="form-check-input" type="checkbox"> Remember me
            </label>
          </div>
        </form>

    原因分析与解决方案

    在使用form表单时,如果用到了form-group与formControlName,需要在app.module.ts中的import引入的不仅仅有FormsModule,还要引入ReactiveFormsModule,如下:
     

    import { BrowserModule } from '@angular/platform-browser';
    import { NgModule } from '@angular/core';
    import { FormsModule, ReactiveFormsModule } from '@angular/forms';
    import { IonicModule } from "@ionic/angular";
    
    import { AppComponent } from './app.component';
    import { FooterGuideComponent } from './components/footer-guide/footer-guide.component';
    import { AppRoutingModule } from './app-routing.module';
    import { ProductListComponent } from './components/product-list/product-list.component';
    import { RepaymentComponent } from './components/repayment/repayment.component';
    
    
    
    @NgModule({
      declarations: [
        AppComponent,
        FooterGuideComponent,
        ProductListComponent,
        RepaymentComponent
      ],
      imports: [
        AppRoutingModule,
        BrowserModule,
        FormsModule,
        IonicModule.forRoot(),
        ReactiveFormsModule
      ],
      providers: [],
      bootstrap: [AppComponent]
    })
    export class AppModule { }
    

     

  2.  Error: Uncaught (in promise): Error: StaticInjectorError(AppModule)[RestService -> Http]: 
    当在其他service文件中引入http模块时,页面会报错:ERROR Error: Uncaught (in promise): Error: StaticInjectorError(AppModule)[ToolService -> Http]: 
      StaticInjectorError(Platform: core)[ToolService -> Http]:

     
    import { Injectable } from "@angular/core";
    import {Http, ResponseContentType} from "@angular/http";
    import { Observable, of } from "rxjs";
    import {map, switchMap} from "rxjs/operators";
    
    @Injectable()
    export class ToolService {
        constructor(private http: Http) {}
    
        getImgFromLocal(uri): Observable<Blob> {
            return this.http.get(uri, { responseType: ResponseContentType.Blob }).pipe(
                map(resp => resp.blob()),
                map(blob => new Blob([blob], { type: blob.type }))
            );
        }
    
    }
    

    原因分析与解决方案

    如果你引用了Http模块,则需要在app.module.ts中的imports中注入HttpModule​​​​​​​模块,如下:
     
    
    import { HttpModule } from '@angular/http';
    
    @NgModule({
      declarations: [
        AppComponent
      ],
      imports: [
        AppRoutingModule,
        BrowserModule,
        FormsModule,
        IonicModule.forRoot(),
        ReactiveFormsModule,
        HttpClientModule,
        HttpModule,
        TranslateModule.forRoot({
          loader: {
            provide: TranslateLoader,
            useFactory: TranslateLoaderFactory,
            deps: [HttpClient]
          }
        })
      ],
      providers: [
        {
          provide: LOCALE_ID,
          useFactory: LocaleIdFactory
        }
      ],
      bootstrap: [AppComponent]
    })
    export class AppModule {}

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值