Actualmente tengo este problema con un componente en Angular 2 que existe de otros componentes. Los componentes del componente 'principal' pueden existir varias veces en la jerarquía.
Pero recibo este error: "No se puede construir una consulta para la propiedad "navComponent" de "SidenavLinkComponent" ya que el selector de consultas no estaba definido"
SidenavLinkComponent: @ContentChild(SidenavNavComponent) navComponent: SidenavNavComponent; SidenavNavComponent: @ContentChildren(SidenavLinkComponent) linkComponents: QueryList<SidenavLinkComponent>;He hecho este plunker delgado, donde se muestra el problema: Plunker
No tengo idea de por qué sucede.
Se debe a una dependencia circular entre SidenavComponent y SidenavNavComponent . Se puede resolver usando forwardRef . No olvides importarlo también:
import { forwardRef } from '@angular/core'; @ViewChild(forwardRef(() => SidenavNavComponent)) private navComponent: SidenavNavComponent;Tuve este error al usar una enumeración en un archivo de especificaciones.
aplicación.componente.ts
@Component({ selector: 'mintplayer-ng-bootstrap-root', templateUrl: './app.component.html', styleUrls: ['./app.component.scss'], }) export class AppComponent { title = 'ng-bootstrap-demo'; colors = Color; // Comment out this line to make the unit tests succeed }app.component.spec.ts
describe('AppComponent', () => { let fixture: ComponentFixture<AppComponent>; beforeEach(async () => { await TestBed.configureTestingModule({ declarations: [ // Component to test AppComponent, ], imports: [ RouterTestingModule ], // providers: [ // { provide: Color } // ] }).compileComponents(); }); it('should create the app', () => { fixture = TestBed.createComponent(AppComponent); fixture.detectChanges(); const app = fixture.componentInstance; expect(app).toBeTruthy(); }); }); enum Color { primary, secondary, success, danger, warning, info, light, dark, body, white, transparent }Todavía no sé cómo resolverlo, pero pensé que sería interesante señalarlo ya que el mensaje de error está completamente apagado...