#javascript #angularjs
#javascript #angularjs
Вопрос:
В демо-версии я увидел, что название события выскакивало при наведении курсора мыши на день. Я искал документацию, но я не вижу никакого описания того, как это сделать.
Я полагаю, что имя события будет отображаться с mouseover
помощью и что-то менять uiConfig
.
Любые советы будут оценены!
Ответ №1:
Это не встроенная функция ui-calendar
.
В демонстрации используется компонент всплывающей подсказки UI Bootstrap для Angular для отображения информации о событии. Вам необходимо:
-
добавить
ui.bootstrap
в свой модуль:angular.module('yourAp', ['ui.calendar', 'ui.bootstrap']);
-
настройте календарь для отображения всплывающей подсказки для каждого события:
$scope.uiConfig = { calendar:{ // This enables the tooltip for every event eventRender: function( event, element, view ) { element.attr({'tooltip': event.title, 'tooltip-append-to-body': true}); $compile(element)($scope); }; } };
Очевидно, вы можете использовать eventRender
перехват для добавления различных элементов поведения / пользовательского интерфейса.
РЕДАКТИРОВАТЬ С ПЛАКАТА
$scope.uiConfig = {
calendar:{
eventRender: function( event, element, view ) {
element.attr({
"tooltip-placement":"top",
"uib-tooltip": event.title,
"tooltip-append-to-body": true
});
$compile(element)($scope);
};
}
};
По-видимому, версия моего Angular и версия всплывающей подсказки были несовместимы. Приведенный выше код решил проблему.
Комментарии:
1. Большое вам спасибо.
2. Кстати, не могли бы вы добавить что-нибудь в этот ответ для других людей?
3. element.attr({ «всплывающая подсказка-размещение»: «top», «uib-всплывающая подсказка»: event.title, «всплывающая подсказка-добавление к телу»: true });
4. По-видимому, мои версии AngularJS и всплывающих подсказок не были согласованы, поэтому мне пришлось сделать
element
так5. @YMD Вы имеете в виду ссылку на jsFiddle?