Angular 如何在“角度”对话框中对多选下拉列表中的多个值求和
我正在创建一个菜单,您可以在其中选择多个添加项,我正在尝试将这些值相加,以便以HTML显示总价。我已经使用了Angular 如何在“角度”对话框中对多选下拉列表中的多个值求和,angular,typescript,angular-material,Angular,Typescript,Angular Material,我正在创建一个菜单,您可以在其中选择多个添加项,我正在尝试将这些值相加,以便以HTML显示总价。我已经使用了[(ngModel)]来捕获所选的第一个值,但希望添加所选的其他值以获得总价。我得到的不是总数,而是NaN 任何帮助都将不胜感激 这是我的HTML: 附加组件 {{addOn.addOnName}+${{addOn.addOnPrice}} 价格:{{+selectedddons} {{selectedAddOns}} 潜艇: 下面是我如何设置typescript文件的 selecte
[(ngModel)]
来捕获所选的第一个值,但希望添加所选的其他值以获得总价。我得到的不是总数,而是NaN
任何帮助都将不胜感激
这是我的HTML:
附加组件
{{addOn.addOnName}+${{addOn.addOnPrice}}
价格:{{+selectedddons}
{{selectedAddOns}}
潜艇:
下面是我如何设置typescript文件的
selectedddons=0;
选择的DDonPrice=0;
addtoOrder:项目;
ngOnInit():void{
这个.getMenuItem();
}
//获取选定的菜单项并将其推送到详细信息页面
getMenuItem():void{
const name=this.route.snapshot.paramMap.get(“name”);
这是我的朋友
.getMenuItemDetail(名称)
.subscribe((items)=>(this.item=items));
}
updatePrice(事件:编号){
this.selectedAddOnPrice+=事件;
}
两件事:
(ngModelChange)=“updatePrice($event)”
,它发送的是一个“事件”,而不是一个数字,其中updatePrice()函数将其视为一个数字。这可能是你的问题
更可能的是,您需要做的是创建一个包含所有价格的数组,并在每个价格上设置一个真/假标志,以指示是否选择了这些价格。然后每次执行updatePrice时,都需要在数组中循环并计算价格。我明白了。谢谢你的意见。因此,如果我使用带有真/假标志的数组,我将如何处理有人选择和项目,然后取消选择同一项目的情况?最好在数据中添加一个“isSelectedFlag”,并在选中时切换它。