【发布时间】:2016-05-10 15:57:06
【问题描述】:
1。我在同一页面上有几个按钮,如下所示:
2。一旦他们中的任何一个点击它就会显示下面的按钮
问题:
我有一个页面,其中包含多个 ADD 按钮,如 (1),如果我点击第一个按钮(然后它会显示递增/递减按钮,如(2) 这是完全正常的)。然后,如果我单击第二个、第三个.... ADD 按钮,(即使我已经增加/减少了增加/减少按钮 (2) 也会从其他按钮中消失该按钮中的值)。
代码:
HTML
<div *ngFor="#item of list">
<div *ngIf="currentEl === list">
<tr>
<td>
<input type="button" (click)="dec(elem)" value="Down"/>
<input type="text" #elem value="0"/>
<input type="button" (click)="inc(elem)" value="Up"/>
</td>
</tr>
</div>
</div>
<div (click)="addTo(list)" *ngIf="currentEl !== list">ADD</div>
JS:
let list = ["Banana", "Apple", "Kiwi", "Milk"];
export class App {
//THIS IS THE ADD BUTTON
addTo(element){
this.currentEl = element;
}
inc(elem)
{
var nItem = parseInt(elem.value);
if(nItem < 5)
{
nItem +=1;
elem.value = nItem;
}
}
dec(elem)
{
var nItem = parseInt(elem.value);
if(nItem > 0)
{
nItem -=1;
elem.value = nItem;
}
}
}
我应该怎么做才能解决这个问题?
【问题讨论】:
-
什么是
currentEl?它有什么价值,如何以及在哪里更新? -
我已经修改过了,请查看JS部分addTo()函数的内容。
-
我猜应该是
this.currentEl = element;? -
这是真的!我刚刚从我的代码编辑器复制/粘贴代码时出错了,无论如何,我更正了它。
-
我想问题是您为
*ngFor创建的每个<tr>引用相同的属性。在*ngIf中使用相同的currentEl(=== list)。但我不得不承认我没有完全理解你想要完成的事情。
标签: javascript angular