【发布时间】:2021-05-25 19:10:07
【问题描述】:
我有这个“错误错误:未捕获(承诺):错误:NG0200:在 DI 中检测到 UserService 的循环依赖。”
auth.components.ts 使用类 UserService 和 User user.service.ts 使用 User 类
不知道循环依赖在哪里
user.model.ts:
export class User{
constructor(public login: string,
public Mdp : string){
}
}
user.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:
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();
}
}
谢谢你帮助我
【问题讨论】:
-
尝试从
UserService中删除构造函数。你为自己注入服务 -
没关系。我必须删除 user.Service.ts 中的 constructor(private userService: UserService) { }
标签: angular typescript dependencies circular-dependency