Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Tooltip issue, MatTooltip not working in Angular

I am trying to insert a notifications tooltip in my dashboard page, but the tooltip is not working. I am very new to Angular, so any leads regarding this will be highly appreciated.

module.ts

..     import {MatTooltipModule} from '@angular/material'; ..  @NgModule({ .. MatTooltipModule ..}) 

component.html

    <div class="notifications">         <i class="fa fa-bell fa-2x" aria-hiden="true" matTooltip="Tooltip!"></i>     </div> 
like image 231
Soumyadip Chakraborty Avatar asked Nov 07 '17 07:11

Soumyadip Chakraborty


People also ask

How do I use tooltip in angular 11?

Adding Angular 11 TooltipYou can add the Angular 11 Tooltip component by using the `ejs-tooltip` tag. The attributes used within this tag allow you to define other functionalities of tooltip.


1 Answers

To use Angular-Material Tooltip you will need:

  1. Import the BrowserAnimationsModule and MatTooltipModule:

app.module.ts

import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { MatTooltipModule } from '@angular/material/tooltip';  @NgModule({   imports: [     BrowserAnimationsModule,     MatTooltipModule,     // ... 
  1. Add tooltip to your component

test.component.html

<div matTooltip="Tooltip!">Hover me</div> 
  1. P.S If you haven't already installed and imported HammerJs you may need to (Material uses it for some animations and touch gestures):
    npm i -S hammerjs
    npm i -D @types/hammerjs

And in your app.module.js import hammerjs:

import 'hammerjs';  

To view full working example see: https://stackblitz.com/angular/keqjqmxbrbg

Update

I found a memory leak in my application, due to extensive use of mat-tooltip (in a loop). This memory leak can be fixed by removing HammerJS.
For more info and other possible solutions (instead of removing HammerJS) see: https://github.com/angular/material2/issues/4499

like image 130
Gil Epshtain Avatar answered Sep 17 '22 14:09

Gil Epshtain