无法通过构造函数将组件注入到组件中?

CC4*_*325 0 constructor typescript angular

我试图调用 private login: LoginComponent,但是,当我添加 private login: 时,我的网站不会加载LoginComponent。在将登录添加到构造函数之前,我的网站加载并运行良好。我究竟做错了什么?我可以不调用私人登录:LoginComponent吗?我在下面附加了课程LoginComponent

import { Component, OnInit, ViewChild } from '@angular/core'
import { Router } from '@angular/router'
import * as Rx from "rxjs"
import { environment } from "../../../environments/environment"
import {LoginComponent} from "app/components/login/login.component"
import { AuthService } from "../../services/auth/auth.service"
import { LoginService } from "../../services/login/login.service"
import { SageApiService } from "../../services/sage-api/sage-api.service"
import { DataModel } from "../../model/data-model"
// wvj contract

@Component({
    selector: 'app-contract-form',
    templateUrl: './contract-form.component.html',
    styleUrls: ['./contract-form.component.css']
})
export class ContractFormComponent implements OnInit {

    @ViewChild('staticModal') staticModal;

    dataModel: DataModel = new DataModel()

    constructor(
        private router: Router,
        private authService: AuthService,
        private loginService: LoginService,
        private sageApi: SageApiService,
        private login: LoginComponent
    ) { }
}
Run Code Online (Sandbox Code Playgroud)

我试图调用这个类:

import { Component, OnInit } from '@angular/core';
import {Router} from "@angular/router";
import { LoginService } from "../../services/login/login.service";
import { AuthService } from "../../services/auth/auth.service"

@Component({
  selector: 'app-login',
  templateUrl: './login.component.html',
  styleUrls: ['./login.component.css']
})
export class LoginComponent implements OnInit {

    error: string = "";
    username: string = "";
    password: string = "";
    isLoading: boolean = false;
    constructor(
        private loginService: LoginService,
        private authService: AuthService,
        private router: Router
    ) { }
}
Run Code Online (Sandbox Code Playgroud)

Arj*_*ker 5

组件之间的任何数据传递都可以通过两种方法进行:

  1. 创建一个服务并将该服务注入到两个组件中。组件之间共享的数据是通过服务完成的。
  2. Subject在一个组件中创建一个组件,然后subscribe在另一个组件中创建它。

一个组件不能通过构造函数注入到另一个组件中。

  • 您实际上可以注入位于同一视图层次结构中的组件:https://angular.io/guide/dependency-injection-navtree (4认同)