2016-10-28 4 views
1

私たちはサーバの子供を持つhtml elelemtを持っています。子どもには何らかの条件があり、外のクリックを追跡する必要があります。問題は、ngIfに含まれるchildren要素をクリックすると、その要素がnullになります。要素はブラウザには表示されますが、DOMには表示されません。Angular2はngIfのクリックをトラッキングすることができません

retuns -1以下のコード:私たちの主な要素

event.targetは私が追跡することができますどのように*ngIf

である私たちの子供です

this.element.nativeElement.contains(event.target) 

nativeElement要素のクリックイベントは*ngIfにありますか? * ngIf表現かどうかを使用してレンダリングされている場合は、

<button (click)="fireClickEvent('USER')">User Button</button>  

かかわらず:

@Component({ 
    moduleId: module.id, 
    selector: 'sd-test', 
    templateUrl: 'test.component.html', 
    styleUrls: ['test.component.css'] 
}) 
export class TestComponent { 
    public userButtonClickedTimes: number; 

    constructor() { 
     this.userButtonClickedTimes = 0; 
    } 

    fireClickEvent(source) { 
    if (source === 'USER') { 
     this.userButtonClickedTimes++; 
     console.log('total clicks = ' + this.userButtonClickedTimes); 
    } 
    } 

HTMLテンプレートを:

+0

DOMに含まれていない場合、どのように見えますか? –

答えて

0

あなたはこのように行うことができ、ユーザーボタンのクリックをトラッキングするとしますビューに表示されている限り、ユーザーはボタンをクリックすることができ、アプリはクリックをトラッキングします。

関連する問題