Смена флажка внутри div вызывает метод родительского щелчка. Как ограничить первоначальный доступ к родительскому методу? - PullRequest
0 голосов
/ 19 октября 2018

Внутри mycomponent.html

<div id="parent" (click)="tempParent($event)">
    <div class="checkbox margin-top-0  checkbox-primary">
        <input id="indChk2" type="checkbox" id="child"  (change)="tempchild($event);">
        <label>
        </label>
    </div>
</div>

Внутри mycomponent.ts

tempChild = (e: any) => {
        e.stopPropagation();

    }
    tempParent = (e: any) => {
      alert('i am parent')
        console.log('navigated1');

    } 

Как только я нажимаю флажок, он вызывает родительский метод. Я попытался использовать остановку в событии флажка, ноСначала он вызывает родителя. Может ли кто-нибудь помочь мне с этим

1 Ответ

0 голосов
/ 19 октября 2018

Вы говорите, чтобы отменить действие щелчка, но вы останавливаете распространение события изменения.Лучше всего просто проверить, что нажали и посмотреть, является ли это вход.

function tempParent(event) {
   if (event.target.closest('.checkbox-primary')) {
     return
   }
   
   console.log("here");
}
<div id="parent" onclick="tempParent(event)">
  <div class="checkbox margin-top-0 checkbox-primary">
    <input id="indChk2" type="checkbox" id="child" >
    <label for="indChk2" >FOO</label>
  </div>
  <p>BAR</p>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...