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。
您必须使用组件属性和方法作为模板的上下文
我的 *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。
您必须使用组件属性和方法作为模板的上下文