Я использую внутри своего шаблона HTML для пользовательского компонента:
<foo ... (click)="doSth(foo)" ...></foo>
Затем в контроллере я вызываю функцию, принадлежащую классу этого конкретного объекта
class Foo {
...
getWhatever(){
...
}
}
doSth(foo: Foo) {
foo.getWhatever();
....
Во время компиляции моя IDE ни на что не жалуется. Однако во время выполнения, когда я явно заставляю эту функцию выполняться, я получаю:
FooListComponent.html:2 ERROR TypeError: foo.getWhatever is not a function
Выполняя отладку, я ясно вижу, что это не экземпляр Foo, а просто обычный объект. Если я пытаюсь выполнить приведение или что-то подобное, ничто не может помочь мне извлечь его как экземпляр Foo.
Я предполагаю, что он обрабатывается как объект, полученный из шаблона, если я сделаю что-то вроде Instantiation Loader или подобное?