Angular2 self.parentView.context не является функцией
У меня есть button
элемент в моем *ngFor
Элемент списка:
<li class="cart__item" *ngFor="let item of cartService.cart$ | async">
<button class="button button--decr" (click)="decrItem()">-</button>
<form action="#">
<input type="text" id="qnt" maxlength="3" readonly="readonly" value="{item.qnt || 0}}">
</form>
<button class="button button--incr" (click)="incrItem()">+</button>
</li>
В моем сервисе я создал public
метод (только для целей тестирования)
incrItem() {
alert("Test!")
}
Нажав на мой button
и звонит incrItem()
Функция вызывает ошибку:
Error in ./AppComponent class AppComponent - inline template:63:13 caused by: self.parentView.context.incrItem is not a function
Я не могу понять причину, так как я импортировал свой компонент CartService (где я создал публичный метод) в AppComponent (где мой button
оказываемый).
И мой метод общедоступен, поэтому я могу использовать его во всем приложении. Не нашел мне рабочего решения в подобных вопросах.
1 ответ
Решение
Просто двигайся incrItem
метод из службы в ваш класс компонентов.
Вы должны использовать свойства компонента и методы в качестве контекста для вашего шаблона.