angular - ERROR 错误:未捕获(承诺中):错误:NG0200:为 UserService 检测到 DI 中的循环依赖
问题描述
我有这个“错误错误:未捕获(承诺):错误:NG0200:为用户服务检测到 DI 中的循环依赖。”
auth.components.ts 使用类 UserService 和 User user.service.ts 使用类 User
我不知道循环依赖在哪里
user.model.ts:
export class User{
constructor(public login: string,
public Mdp : string){
}
}
用户.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();
}
}
谢谢你的协助
解决方案
You are injecting UserService
inside 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() {}
//...
}
推荐阅读
- python - 解码谷歌云存储python api返回的protobuf文件
- javascript - Jasmine - 如何在没有实现的情况下监视函数
- python - 如何在pyspark中打印具有特征名称的随机森林的决策路径?
- jenkins - 我在哪里可以获得 Jenkins RestAPI 的官方文档,其中列出了所有可用的 API?
- r - 带有“gp”的 GAM 更平滑:在新位置进行预测
- excel - 将工作表及其代码复制到另一个工作簿中
- android - Android:如何从本机服务通知 Init 进程启动成功/失败?
- ajax - Yii2 使用 Ajax 提交链接
- r - 子集嵌套列表中数据框中的特定变量
- javascript - 引导模式不允许链接?