0

JavaScriptでAngular2を使用しています。現在、次のような 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 のバグなのか、それとも何か間違っているのかはわかりません。

4

1 に答える 1

0

試す

blockMenuSelected(block, event) {
   event.preventDefault();
   event.stopPropagation();
   ...
}

参照https://github.com/angular/angular/issues/2042

于 2016-02-05T08:00:50.933 に答える