Angular2 self.parentView.context不是一个函数

Angular2 self.parentView.context不是一个函数

问题描述:

我已经在我的*ngFor列表项有一个button元素:Angular2 self.parentView.context不是一个函数

<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呈现),所以我无法理解原因。

而我的方法是公开的,所以我可以在整个应用程序中使用它。 在类似问题中找不到工作解决方案。

只需将incrItem方法从服务方式移动到您的组件类。

您必须使用组件属性和方法作为模板的上下文