2017-04-18 37 views
0

如何在Angular 2的組件中使用JQuery模板?如何在Angular 2的模板中使用jquery?

import { Component } from '@angular/core' 
import * as $ from 'jquery'; 
... 
在組件使用

<p (click)="$('#myModal').modal('show');">show</p> 

的模板

它返回該錯誤

錯誤類型錯誤:共$不是一個函數{}

+0

可能的重複http://stackoverflow.com/questions/30623825/how-to-use-jquery-with-angular2 – warl0ck

回答

1

唐如果你不需要它,那麼就不要穿過角度框架。

<p onclick="$('#myModal').modal('show');">show</p> 

通過嘗試使用(click)引用是基於含角分量上解決,這樣的角度來努力解決$作爲組件上的一個實例。

另外,你必須在你的組件中創建一個方法,然後調用jquery。然後使用(click)從模板調用此方法。

+0

是的,我需要使用角2 – alehn96

+0

@ alehn96 - 不與上面的代碼沒有。 '$('#myModal')。modal('show')'中沒有任何內容使用特定於'angular2'的任何內容。 – Igor

+0

謝謝,所以我必須在組件中創建方法,並在事件被調用時使用jquery,是唯一的方法嗎? – alehn96

0

構建一個自定義指令,它將與jQuery進行通信。

@Directive({selector:'[trigger]'}) 
export class TriggerModelDirective { 

    constructor(private el: elementRef) { 
    } 

    onInit() { 
    this.el.nativeElement.addEventListener(()=> { 
     $('#myModal').modal('show'); 
    }); 
} 

您可能需要添加removeEventListener並將$包裝到Angular的opaque標記中。

+0

謝謝,我解決了$(this.elRef.nativeElement).find('#myModal')。modal('show');在elRef:ElementRef的組件中 – alehn96

相關問題