Задать вопрос
@historydev
Редактирую файлы с непонятными расширениями

Почему не работает @Directive (именно класс с логикой) в angular?

Здравствуйте. Скажите пожалуйста, почему он подсвечивается красным и не работает? Я гуглю, там ответы за 2015 год, вообще другой синтаксис. Может я забыл установить какой-то пакет? - в документации ничего не нашёл пока-что.

import { Component, Directive, HostListener, ElementRef } from '@angular/core';
import {LoggerService} from "./logger.service";

@Directive({
    selector: '.title'
})

class HighlightDirective {

    constructor(private el: ElementRef) { }

    @HostListener('mouseenter') onMouseEnter() {
        this.highlight('yellow');
    }

    @HostListener('mouseleave') onMouseLeave() {
        this.highlight('');
    }

    private highlight(color: string) {
        this.el.nativeElement.style.backgroundColor = color;
    }

}

@Component({
    selector: 'app-root',
    templateUrl: './app.component.html',
    styleUrls: ['./app.component.scss']
})

export class AppComponent { ... }


615085007698d165313107.png

Буду благодарен за любую помощь!
  • Вопрос задан
  • 69 просмотров
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ответы на вопрос 1
Ahmad66617
@Ahmad66617
Senior Fullstack Engineer
Ответ может быть банален до безобразия - такая подсветка говорит скорее всего о том что в модуле вы не задекларировали и не заимпортили директиву
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы