在彼此之间导入独立组件时,我面临着一个问题.

A组分.

@Component({
  standalone: true,
  selector: 'app-a',
  templateUrl: './a.component.html',
  styleUrls: ['./a.scss'],
  imports: [
    BComponent
  ]
})
export class AComponent implements OnInit {

}

组件B

@Component({
  standalone: true,
  selector: 'app-b',
  templateUrl: './b.component.html',
  styleUrls: ['./b.scss'],
  imports: [
    AComponent
  ]
})
export class BComponent implements OnInit {

}

早些时候,当我使用模板访问这些组件时,这个解决方案工作得很好.但现在有了这个错误.

REF错误:在初始化之前无法访问‘AComponent’.

在上述情况下提供的任何帮助都将受到高度赞赏.

推荐答案

Select 一个组件并使用forwardRef

@Component({
  standalone: true,
  selector: 'app-b',
  templateUrl: './b.component.html',
  styleUrls: ['./b.scss'],
  imports: [
    forwardRef(() => AComponent))
  ]
})
export class BComponent implements OnInit {

}

Stackblitz

归功于El Greco/Tim Deschryver,twitter thread

Angular相关问答推荐

具有多重签名的Angular Mocking Service

如何在init为FALSE时以Angular 初始化主拇指擦除器-Swiper 11.0.6Angular 17 SSR

material 对话框中没有合适的注塑

弯管记忆

RxJS轮询+使用退避策略重试

RXJS拆分返回值,多次调用后重新加入

根据环境变量动态加载Angular templateUrl

ngRouterOutlet和组件生命周期使用自定义模板渲染的问题

ngrx 效果等到从初始值以外的其他状态收到响应

在生产模式下使用带Angular 的 livekit

NGX-Translate如何不得到404?

正确理解 angular14 中的注入 - 必须从注入上下文中调用注入()

根据变量值更改按钮样式

使用 formControlName 和 ngModel 的Angular 6 警告

Angular 2 中的 $implicit 是什么?

Angular @NGRX中这三个点的含义是什么

Angular7 中的 CORS 策略已阻止源http://localhost:4200

Angular2动态改变CSS属性

服务相互依赖

Angular2 - 将文本框集中在组件加载上