директива не существует в текущем компоненте - PullRequest
0 голосов
/ 11 мая 2018

Я новичок в angular 2, я посмотрел несколько видео и реализовал это, но столкнулся с некоторыми проблемами. Я создал новый компонент navbar и импортировал его в файл app.component.ts. При добавлении метаданных @Component директива не найдена ошибка.

Error: Argument of type '{ selector: string; template: string; directive: (typeof NavbarComponent)[]; }' is not assignable to parameter of type 'Component'.
  Object literal may only specify known properties, and 'directive' does not exist in type 'Component'.

app.component.ts Код:

import { Component } from '@angular/core';
import { NavbarComponent } from './navbar.component';

@Component({
  selector: 'my-app',
  template: `<h1>Hello {{name}}</h1>`,
  directive: [NavbarComponent]
})
export class AppComponent  { name = 'Angular'; }

navbar.component.ts]

app.component.ts]

Ответы [ 2 ]

0 голосов
/ 11 мая 2018

Нам нужно импортировать в файл app.model.ts

, импортировать {NavbarComponent} из './navbar.component';

и

объявлений: [AppComponent, NavbarComponent],

import { NgModule }      from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent }  from './app.component';
import { NavbarComponent} from './navbar.component';

@NgModule({
  imports:      [ BrowserModule ],
  declarations: [ AppComponent,NavbarComponent ],
  bootstrap:    [ AppComponent ]
})
export class AppModule { }

и в app.component.ts просто вызовите селектор

import { Component } from '@angular/core';


@Component({
  selector: 'my-app',
  template: `<h1>Hello {{name}}</h1>
                <p>Hello once again</p>
                <navbar></navbar>

  `
})
export class AppComponent  { name = 'Angular'; }
0 голосов
/ 11 мая 2018

Как говорит ошибка, 'directive' не существует в типе 'Component'.

Аргумент компонента не принимает параметр директивы типа.Если вы хотите видеть вновь созданный navbar в вашем app.component.html, просто удалите directive из app.component.ts и добавьте селектор navbar в ваш app.component.html (убедитесь, что в вашем файле есть html).navbar шаблон, чтобы убедиться, что он работает).

<nabar><\navbar>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...