#angular #typescript #nested #angular-components
#angular #typescript #вложенный #angular-компоненты
Вопрос:
У меня есть модуль с несколькими объявленными компонентами, и когда я использую синтаксис директивы в шаблоне, Angular не может найти компонент — я получаю эту ошибку
'test-cell-map' is not a known element:
1. If 'test-cell-map' is an Angular component,
then verify that it is part of this module.
2. If 'test-cell-map' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA"
to the '@NgModule.schema' of this component to suppress this message.
Вот модуль компонента
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http';
import { AppComponent } from './app.component';
import { TestCellMapComponent } from './test-cell-map/test-cell-map.component';
@NgModule({
declarations: [
AppComponent,
TestCellMapComponent
],
imports: [
BrowserModule,
FormsModule,
HttpModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
Вот как выглядит компонент верхнего уровня
import { Component } from '@angular/core';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'app works!';
}
и связанный с ним шаблон
<h1>
{{title}}
<test-cell-map></test-cell-map>
</h1>
Комментарии:
1. пожалуйста, также опубликуйте код TestCellMapComponent.
Ответ №1:
У вас проблема с селектором TestCellMapComponent
<h1>
{{title}}
<app-test-cell-map></app-test-cell-map> //<<<<===== changed
</h1>
Комментарии:
1. Да, это ответ -> Я использовал Angular-CLI, и по какой-то причине он добавляет «app» к имени в селекторе в подкомпоненте
2. Хорошо. Происходит !
3. Причина в том, что это настроено в angular-cli.json в префиксе.