2017-01-15 2 views
1

Я не могу понять, как получить директивы, работающие в моем приложении. Я хочу применить директиву к компоненту, это она в простейшей форме.Директива не работает в приложении

import {Directive, HostBinding} from '@angular/core'; 

@Directive({ 
    selector: '[directiveSelector]' 
}) 

export class FirstDirective { 

    @HostBinding() innerText = 'not working'; 

} 

...

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

@Component({ 
    selector: 'home', 
    template: ` 
    <h1 directiveSelector>Test</h1>` 
}) 

export class HomeComponent { 

} 

...

import { BrowserModule } from '@angular/platform-browser'; 
import { NgModule } from '@angular/core'; 

import { AppComponent } from './app.component'; 
import { HomeModule } from "./home/home.module"; 
import { FirstDirective } from './directives/first.directive'; 


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

Кто-нибудь знает, что я здесь отсутствует? Home рендеринга отлично, и это компонент, завернутый в модуль. Кроме того, я не могу получить отладчик или предупреждение для запуска в директиве - может быть проблема с привязкой шаблона?

+0

Вам не нужны скобки: '@HostBinding() innerText;'? Получаете ли вы какие-либо предупреждения или ошибки при создании или в консоли при посещении сайта? – jonrsharpe

+0

Нет, никаких ошибок. Я не думаю, что директива работает вообще, хотя, и я не знаю, почему. Да, он имеет круглые скобки, они, должно быть, потерялись при вставке. – userqwert

ответ

2

Объявление FirstDirective в вашем HomeModule, которое должно позаботиться об этом. Здесь я предполагаю, что ваш HomeComponent является частью homemodule.

Пробовал выходить из себя из модуля, и он не вызывал ошибок, но также не работал.

+0

что его директива должна делать? – Ced

+1

Ну, на основе кода OP, он ничего не делает, кроме вывода «не работает» в представлении. – Alex

+0

Ах, хороший AJT, я думал, что модули наследуют от корневого модуля, но я был совершенно неправ! Спасибо за вашу помощь :) – userqwert

Смежные вопросы