错误错误:未捕获(承诺中):NullInjectorError:R3InjectorError(RegisterPageModule)[AccessProviders -> AccessProviders]

Sul*_*zli 9 ionic-framework ionic5

我的Ionic应用程序与AngularJS出现问题,位于register.page.ts; 当我要AccessProviders在项目中添加路径时,项目显示:ERROR Error: Uncaught (in promise): NullInjectorError: R3InjectorError(RegisterPageModule)[AccessProviders -> AccessProviders -> AccessProviders -> AccessProviders]: NullInjectorError: No provider for AccessProviders!

我已手动创建访问提供程序文件夹和文件。

注册.page.ts

import {Router} from "@angular/router";
import { ToastController, LoadingController, AlertController } from "@ionic/angular";
import {AccessProviders} from "../../providers/access-providers";

@Component({
  selector: 'app-register',
  templateUrl: './register.page.html',
  styleUrls: ['./register.page.scss'],
})
export class RegisterPage implements OnInit {

    name: string = "";
    gender: string = "";
    dob: string = "";
    email: string = "";
    password: string = "";
    confirm_password: string = "";
    disabledButton;

  constructor(
      private router: Router,
      private toastCtrl: ToastController,
      private alertCtrl: AlertController,
      private loadingCtrl: LoadingController,
      private accsPrvds: AccessProviders,
  ) { }

  ionViewDidEnter() {
      this.disabledButton = false;
  }
Run Code Online (Sandbox Code Playgroud)

访问提供者.ts

import { HttpClient, HttpHeaders, HttpErrorResponse } from "@angular/common/http";
import  'rxjs/add/operator/map';
import  'rxjs/add/operator/timeout';

@Injectable()
export class AccessProviders {
    server: string = 'http://localhost:8100/register'; //should change.

    constructor(
        public http: HttpClient
    ) {

    }

    postData(body, file) {
        let headers = new HttpHeaders({
            'Content-Type': 'application/json; charset=UTF-8'
        });

        let options = {
            headers: headers
        };

        return this.http.post(this.server + file, JSON.stringify(body), options)
            .timeout(59000)// 59 sec timeout
            .map(res => res);
    }
}
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?我希望得到我的答案。

Naj*_*qib 8

在文件中添加打击代码access-providers.ts

import { Injectable } from '@angular/core'; // at top

@Injectable({
  providedIn: 'root' // just before your class
})
export class AccessProviders {}
Run Code Online (Sandbox Code Playgroud)


The*_*cle 6

确保已HttpClientModule在以下级别注册AppModule