В настоящее время я пытаюсь создать динамическое меню в angular 9. Я новичок в angular и по какой-то причине получаю следующее сообщение об ошибке: ОШИБКА в не удается разрешить все параметры для HeadMenuComponent в C:/mypath/head-menu .component.ts: (?, ?, ?). Код довольно прост:
import { Component, OnInit, Inject, Injectable } from '@angular/core';
@Component({
selector: 'app-head-menu',
templateUrl: './head-menu.component.html',
styleUrls: ['./head-menu.component.css']
})
export class HeadMenuComponent implements OnInit {
imageURL: string;
text: string;
menuFunction: () => void;
constructor(@Inject(String)imageURL: string, @Inject(String)text: string,
@Inject(Function)functionToAccept: () => void) {
this.imageURL = imageURL;
this.text = text;
this.menuFunction = functionToAccept;
}
ngOnInit(): void {
}
}
Код компилируется, и ng serve будет работать, но я все еще получаю сообщение об ошибке. Это особенно важно для меня, потому что команда angular-cli: ng xi18n не запускается из-за этой ошибки.
Итак, мой вопрос: что я делаю неправильно? Есть ли другой способ передать объекты в конструктор? Мне кажется неправильным использовать угловую инъекцию, просто чтобы передать строку конструктору, но я пока не нашел другого способа.