我的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
呈现的位置)。
我的方法是公开的,所以我可以在整个应用程序中使用它。 在类似的问题中找不到工作解决方案。
答案 0 :(得分:2)
将incrItem
方法从服务移动到组件类。
您必须使用组件属性和方法作为模板的上下文