Angular 7 html div未显示在视图页面上(tooltip.js)

时间:2019-04-03 05:47:16

标签: css angular tooltip

The html page

该图像显示了视图和html代码,即html代码中的“工具提示”类,但是当我将其悬停时,它什么也没有显示。应该显示为“ haha​​1”,但我不知道如何解决。

import { Component, OnInit, ViewChild } from '@angular/core';
import { OptionsInput } from '@fullcalendar/core';
import timeslot from '@fullcalendar/resource-timeline';
import interactionPlugin from '@fullcalendar/interaction';
import { CalendarComponent } from 'ng-fullcalendar';
import 'popper.js';
import Tooltip from 'tooltip.js';
declare let $: any;
@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit{
  options: OptionsInput;
  eventsModel: any;
  id: any;
  @ViewChild('fullcalendar') fullcalendar: CalendarComponent;
  ngOnInit(): void {
    this.options = {
      editable: false,
      resourceLabelText: 'Rooms',
      // eventRender: (info) => {
      //   info.el.setAttribute('data-toggle', "tooltip");
      //   info.el.setAttribute('title', info.event.extendedProps.description)
      //   info.el.setAttribute('data-placement', 'top')
      //
      //   $(() => {
      //     $('[data-toggle=\'tooltip\']').tooltip({
      //       position: 'bottom right'
      //     });
      //   });
      // },
      eventRender: (info) => {
        const tooltip = new Tooltip(info.el, {
          title: info.event.extendedProps.description,
          placement: 'top',
          trigger: 'hover',
          container: 'body'
        });
      },
      resources: [{
        id: 'a',
        title: 'Room A'
      },
        {
          id: 'b',
          title: 'Room B'
        }],
      events: [{
        id: 'a',
        resourceId: 'a',
        start: '2019-04-03T01:00:00', end: '2019-04-03T02:00:00',
        description: 'haha1',
        title: 'a'
      }, {
        id: 'b',
        resourceId: 'b',
        start: '2019-04-03T02:00:00', end: '2019-04-03T03:00:00',
        title: 'b',
        description: 'haha2'
      }],
      aspectRatio: 1.8,
      timeZone: 'UTC',
      defaultView: 'resourceTimelineDay',
      schedulerLicenseKey: 'GPL-My-Project-Is-Open-Source',
      scrollTime: '08:00',
      views: {
        resourceTimelineDay: {
          buttonText: 'Lession',
          slotDuration: '00:15'
        }
      },
      header: {
        left: 'prev,next today',
        center: 'title',
        right: 'resourceTimelineDay'
      },
      plugins: [ timeslot, interactionPlugin ]
    };
  }
}


.tooltip {
  position: absolute;
  z-index: 9999;
  background: #FFC107;
  color: black;
  width: 150px;
  border-radius: 3px;
  box-shadow: 0 0 2px rgba(0,0,0,0.5);
  padding: 10px;
  text-align: center;
}
.tooltip {
  background: #1E252B;
  color: #FFFFFF;
  max-width: 200px;
  width: auto;
  font-size: .8rem;
  padding: .5em 1em;
}
.tooltip .tooltip-arrow {
  width: 0;
  height: 0;
  border-style: solid;
  position: absolute;
  margin: 5px;
}

.tooltip .tooltip-arrow {
  border-color: #FFC107;
}
.tooltip .tooltip-arrow {
  border-color: #1E252B;
}

.tooltip[x-placement^="top"] {
  margin-bottom: 5px;
}
.tooltip[x-placement^="top"] .tooltip-arrow {
  border-width: 5px 5px 0 5px;
  border-left-color: transparent;
  border-right-color: transparent;
  border-bottom-color: transparent;
  bottom: -5px;
  left: calc(50% - 5px);
  margin-top: 0;
  margin-bottom: 0;
}

.tooltip[x-placement^="bottom"] {
  margin-top: 5px;
}
.tooltip[x-placement^="bottom"] .tooltip-arrow{
  border-width: 0 5px 5px 5px;
  border-left-color: transparent;
  border-right-color: transparent;
  border-top-color: transparent;
  top: -5px;
  left: calc(50% - 5px);
  margin-top: 0;
  margin-bottom: 0;
}
.tooltip[x-placement^="right"] {
  margin-left: 5px;
}

.tooltip[x-placement^="right"] .tooltip-arrow {
  border-width: 5px 5px 5px 0;
  border-left-color: transparent;
  border-top-color: transparent;
  border-bottom-color: transparent;
  left: -5px;
  top: calc(50% - 5px);
  margin-left: 0;
  margin-right: 0;
}

.tooltip[x-placement^="left"] {
  margin-right: 5px;
}
.tooltip[x-placement^="left"] .tooltip-arrow {
  border-width: 5px 0 5px 5px;
  border-top-color: transparent;
  border-right-color: transparent;
  border-bottom-color: transparent;
  right: -5px;
  top: calc(50% - 5px);
  margin-left: 0;
  margin-right: 0;
}

<div *ngIf="options"
  class="pl-3 pr-3 pt-3 pb-3">
<ng-fullcalendar
  #fullcalendar
  [options]="options"
></ng-fullcalendar>
</div>

谁能说出解决办法? plzplzplzplzplzplzplzplzplzplzplzplzplzplzplzplzplzplzplzplzplzplzplzplzplzplzplzplzplzplzplzplzplzplzplzplzplzplzplzplzplzplzplzplz

2 个答案:

答案 0 :(得分:0)

在使用工具提示时检查角材及其位置,方法是从角材@ angular.io

答案 1 :(得分:0)

使用Popper.js和Tooltip.js并不是更好的方法。

您可以使用Angular Official文档中的Tooltip API

https://material.angular.io/components/tooltip/api

对于带有Angular 7的Fullcalendar

https://www.npmjs.com/package/ng-fullcalendar

有关包含Fullcalendar in Angular 7

的更多详细信息