2017-07-07 11 views
1

上のonClickをトリガするために、私はこのテンプレート(Aの抜粋)があります。- を防ぐには、 "親" 要素

<custom-panel [summary]="summary.activity" routerLink="/activities"> 
    <a *ngIf="(user$ | async)?.verification.isOK" (click)="openQuestionModal()">Verify</a> 
</custom-panel> 

...と、この "コンポーネント" クラス:

// imports here 

@Component({ 
    selector: 'custom-panel', 
    templateUrl: './custom-panel.component.html', 
    styleUrls: ['./custom-panel.component.scss'] 
}) 
export class CustomPanelComponent implements OnInit { 
    public summary$: Observable<Summary>; 
    public user$: Observable<User>; 

    constructor(private service: UserService, private dialog: MdDialog) { 
    // ... 
    } 

    public ngOnInit() { 
    // Populate this.user$ 
    // Populate this.summary$ 
    } 

    public openQuestionModal(): void { 
    console.log('openQuestionModal() ...'); 
    } 
} 

問題を私がリンクをクリックして "Questions Modal"を開くときはいつも、それは/activitiesルートに行きます(そして最終的にモーダルダイアログがそこで開かれます)。

これを防ぐ方法はありますか?

私が今までに見つけた唯一の方法は、ブール値「フラグ」を持ち、[routeLink]ディレクティブをに更新することです。私はその「旗」を取り除きたいと思っています。

答えて

2

stopPropagationを試しましたか?

(click)="openQuestionModal($event)" 

    public openQuestionModal(event): void { 
    event.stopPropagation(); 
    console.log('openQuestionModal() ...'); 
    } 
+0

いいえ、私は 'stopPropagation'を試しませんでした。私は実際にこの1つが好きです...ありがとう!簡単?ハァッ! :) –

+0

うん。応答ありがとう – FRECIA

関連する問題