简体   繁体   English

ERROR 错误:未捕获(承诺中):错误:NG0200:为 UserService 检测到 DI 中的循环依赖

[英]ERROR Error: Uncaught (in promise): Error: NG0200: Circular dependency in DI detected for UserService

I have this "ERROR Error: Uncaught (in promise): Error: NG0200: Circular dependency in DI detected for UserService."我有这个“错误错误:未捕获(承诺):错误:NG0200:为用户服务检测到 DI 中的循环依赖。”

auth.components.ts use the class UserService and User user.service.ts use the class User auth.components.ts 使用 class UserService 和 User user.service.ts 使用 class User

I don't know where is the circular dependency我不知道循环依赖在哪里

user.model.ts:用户.model.ts:

export class User{
    constructor(public login: string,
                public Mdp : string){
    }
}

user.Service.ts:用户.Service.ts:

import 'rxjs/RX';
import { User } from '../models/User.model';
import { Subject } from 'rxjs';
import { Injectable } from '@angular/core';

@Injectable()

export class UserService {
  private users!: User[];
  userSubject = new Subject<User[]>();

  constructor(private userService: UserService) {
  }

  emitUsers() {
    this.userSubject.next(this.users.slice());
  }

  addUser(user: User) {
      this.users.push(user);
      this.emitUsers();
  }

  logUser(){
    console.log("la");
  }
}

auth.component.ts: auth.component.ts:

import { ThisReceiver } from '@angular/compiler';
import 'rxjs/RX';
import { Component, OnDestroy, OnInit } from '@angular/core';
import { FormBuilder, FormGroup, Validators, FormArray } from '@angular/forms';
import { Router } from '@angular/router';

import { User } from '../models/User.model';
import { Subscription } from 'rxjs/Subscription';
import { UserService } from '../services/user.Service';


@Component({
  selector: 'app-auth',
  templateUrl: './auth.component.html',
  styleUrls: ['./auth.component.scss']
})
export class AuthComponent implements OnInit, OnDestroy {
  
  users: User[] = [];
  userSubscription: Subscription = new Subscription;
  userForm!: FormGroup;
   
  constructor( 
    private UserService: UserService,
    private formBuilder: FormBuilder,
    private router : Router
    ) {}

    ngOnInit() {
      this.initForm();
    }
  
    initForm(){
      this.userForm = this.formBuilder.group({
        login:['',Validators.required],
        Mdp:['',Validators.required],
      });
    }
  
    onSubmitForm(){
      const formValue= this.userForm.value;
      const newUser = new User (
        formValue['login'],
        formValue['Mdp']
      );
  
        console.log(newUser);
  
        this.UserService.logUser();
    }
  
    ngOnDestroy() {
      this.userSubscription.unsubscribe();
    }

}

thanks for helping me out谢谢你的协助

You are injecting UserService inside UserService .您正在UserService内注入UserService I'm guessing you either want to inject something else, or nothing at all there我猜你要么想注入其他东西,要么什么都没有

export class UserService {
  private users!: User[];
  userSubject = new Subject<User[]>();

  constructor() {}
  //...
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 错误错误:未捕获(承诺):错误:NG0200:检测到 DI 中的循环依赖 - ERROR Error: Uncaught (in promise): Error: NG0200: Circular dependency in DI detected NG0200:检测到 DI 中的循环依赖,为什么以及如何做? - NG0200: Circular dependency in DI detected,Why and How to do? NG0200:为 InjectionToken HTTP_INTERCEPTORS 检测到 DI 中的循环依赖 - NG0200: Circular dependency in DI detected for InjectionToken HTTP_INTERCEPTORS 将http定义为DI会给出EXCEPTION:未捕获(按承诺):错误:DI错误 - defining http as DI gives EXCEPTION: Uncaught (in promise): Error: DI Error Angular2“t 没有提供者!” 和未捕获(承诺):错误:DI 错误 - Angular2 "No provider for t!" and Uncaught (in promise): Error: DI Error Angular 2 No Provider或DI错误(未捕获(承诺):错误:No Provider…) - Angular 2 No Provider or DI error (Uncaught (in promise): Error: No provider …) 未捕获(承诺):服务器错误 - Uncaught (in promise): Server error DI与ng-bootstraps错误 - DI with ng-bootstraps error 角度5中的圆依赖性误差 - Circular dependency error in angular 5 未捕获的错误:无法解析 UserService 的所有参数 (?) - Uncaught Error: Can't resolve all parameters for UserService (?)
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM