2017-02-08 60 views
2

我正在Angular 2中創建一個Web應用程序。在其中一個頁面上,我使用了一個名爲jquery-comments的jQuery插件來啓用用戶評論。如何在Angular 2中創建這個jQuery事件處理程序?

現在我想展示一個自定義對話框,如果用戶點擊jQuery評論「回覆」按鈕。

enter image description here

如果是jQuery的,我會做這樣的事情:

$('.jquery-comments .reply').on('click', function (event) { 
    event.preventDefault(); 
    ...here I can show my custom dialog box or something else   
}); 

但我怎麼會做出角2類似的事件處理程序,在不改變jQuery的評論插件?

回答

0

您可以將事件處理程序單擊帶有角是這樣的...

某個組件的HTML

<div class="reply" (click)="showComments($event)"></div> 

傳遞$事件會給你同樣的事件對象,你會被剛好路過事件得到與香草js。

某些元器件

class someComponent { 

     constructor() { 
    } 

    showComments(e) { 
     e.preventDefault(); 
     // do the jquery stuff here. 
    } 

    } 
+0

沒有,這將無法正常工作。正如我寫的,我不想更改jquery-comments插件的代碼,如果我要添加(單擊)事件處理程序,我將不得不按照您的建議更改代碼。 – brinch

+0

我不認爲我通過更改jquery插件代碼來理解你的意思。 –

+0

「回覆」按鈕是jQuery評論插件的一部分。如果我應該做

,我需要在插件內部完成此操作。 – brinch

0

在您的角分量,則應該從 模板使用@ViewChild()引用DOM元素視圖已經被初始化你 後可以使用該對象的屬性nativeElement並傳遞給jQuery。

聲明$(或jQuery)爲JQueryStatic會給你一個鍵入的 對jQuery的引用。

參考:https://stackoverflow.com/a/30662773/510788

您可以注入的jQuery到您的組件後趕上點擊。

相關問題