Angular2 self.parentView.context 不是函数

Angular2 self.parentView.context is not a function

我的 *ngFor 列表项中有一个 button 元素:

<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(我在其中创建 public 方法)组件导入到 AppComponent(我的 button 呈现在其中)。

而我的方法是public,所以我可以在整个应用程序中使用它。 在类似问题中没有找到适合我的解决方案。

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

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