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

时间:2017-02-08 20:19:14

标签: angular typescript public-method

我的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 个答案:

答案 0 :(得分:2)

incrItem方法从服务移动到组件类。

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