我正在使用Angular2和javascript。目前在TreeView组件中有一个模板,如下所示:
<li>
<label style="color:red">{{block.toString()}}</label>
<select aria-label="block menu" (change)="blockMenuSelected(block,$event)">
<option value="COPY_BLOCK" select>copy</option>
<option value="CUT_BLOCK">cut</option>
<option value="DELETE_BLOCK">delete</option>
</select>
</li>
<li *ngIf= "block.nextConnection && block.nextConnection.targetBlock()">
<tree-view [block]="block.nextConnection.targetBlock()"></tree-view>
</li>
请注意,它是一个递归组件。因此树视图组件中有一个树视图组件。问题是,当我在块菜单下拉列表中选择某些内容时,页面上的任何其他块菜单下拉列表也会受到该选择事件的影响。我试过给每个<select>
元素一个唯一的id,但这并没有改变任何东西。我不确定这是一个Angular2错误还是我做错了什么。
答案 0 :(得分:0)
尝试
blockMenuSelected(block, event) {
event.preventDefault();
event.stopPropagation();
...
}