私はディレクティブを作成することによって、それをやりました。
import { Directive, OnInit, Inject, ElementRef } from '@angular/core';
import { JQUERY_TOKEN } from './jquery.service';
@Directive({
selector: '[data-toggle="tooltip"]'
})
export class TooltipDirective implements OnInit {
private el: HTMLElement;
constructor(elRef: ElementRef, @Inject(JQUERY_TOKEN) private $: JQueryStatic) {
this.el = elRef.nativeElement;
}
ngOnInit() {
this.$(this.el).tooltip();
}
}
これは次に
import { NgModule } from '@angular/core';
import { TooltipDirective } from './tooltip.directive';
import { JQUERY_TOKEN } from './jquery.service';
export let jQuery: JQueryStatic = window['jQuery'];
@NgModule({
imports: [
// ...
],
declarations: [
TooltipDirective
],
providers: [
{ provide: JQUERY_TOKEN, useValue: jQuery }
]
})
export class MyModule {}
はその後、単にあなたがそれを必要とするコンポーネントに追加するモジュールに追加
import
声明
import { InjectionToken } from '@angular/core';
export const JQUERY_TOKEN = new InjectionToken<JQueryStatic>('jQuery');
で述べた私のjquery.service
ファイルです。
import { TooltipDirective } from './tooltip.directive';
追加NG-ブートストラップと、彼らはすべてのためのコンポーネントがあります。たとえば、私の
app.component.ts
ファイルで、私がしなければならなかったすべては、それがテンプレートで動作するように取得するために先頭にこの1行を追加することです。 –JqueryとAngularがうまく一緒に再生されません。おそらく、あなたはng-boostrapや[ngx-popover](https://github.com/pleerock/ngx-popover)のような別のライブラリを使用することができます。 – GurV
うん、jQueryとすべてがAngularでうまくいかない。ネイティブツールチップの実装については、https://ng-bootstrap.github.io/#/components/tooltip/examplesを確認してください。 –