Я изучаю угловой, я следую учебному пособию по Udemy и проверяю документы. Я создал угловое приложение на Codepen
и сейчас я пытаюсь определить директиву, но получил ошибку:
Uncaught Error: не удается разрешить все параметры для PointerDirective:
(?).
Мой код выглядит так:
@Directive({
selector: '[pointer]'
})
class PointerDirective implements OnInit {
constructor(private element: ElementRef) { }
ngOnInit() { }
}
@NgModule({
imports: [
BrowserModule,
CommonModule
],
declarations: [ PointerDirective, AppComponent ],
providers: [],
bootstrap: [ AppComponent ]
})
class AppModule {}
Я также пробовал другое имя (указатель приложения), но получил ту же ошибку.
Ручка основана на этой , но здесь она также не работает.
В поисках этой ошибки у меня есть информация, что это может быть циклическая зависимость, но здесь у меня просто простая директива. Что не так?
EDIT
Согласно @trichetriche, код не работает только на CodePen, я пропустил какой-нибудь файл? Как я могу создать базовый проект Angular без процесса сборки, используя только теги скрипта? Как заставить приложение Angular работать в Codepen?
EDIT2
Итак, я понял это:
@Directive({
selector: '[pointer]'
})
class PointerDirective implements OnInit {
constructor(@Inject(ElementRef) private element: ElementRef) {
}
ngOnInit() { }
}
Если вы знаете, почему в CodePen требуется @Inject
, а не в обычном проекте, добавьте в ответ.