Я разрабатываю приложение Angular 6, которое использует ngx-translate для локализации, и я также использую всплывающие подсказки Bootstrap 4, и проблема, с которой я сталкиваюсь, заключается в том, что я не могу использовать локализацию, сохраняя стиль всплывающей подсказки Bootstrap.
Без локализации я бы использовал следующие данные:
<input type="text" class="form-control text-truncate" id="position"
placeholder="position" data-title="position" />
И это покажет очень приятную подсказку Bootstrap, как показано ниже:
При локализации ngx-translate я бы использовал входные данные следующим образом:
<input type="text" data-toggle="tooltip" class="form-control tooltipped text-truncate" id="position"
[attr.placeholder]="'wfrh_vacancyform_position' | translate"
[attr.data-title]="'wfrh_vacancyform_position' | translate" />
, и проблема здесь в атрибуте заголовка данных.Атрибут «data-title» используется для отображения всплывающей подсказки, но я думаю, что ngx-translate не распознает ее (возможно?).
Заполнитель работает нормально (текст переведен и отображается правильно), новсплывающая подсказка не будет отображаться.
Я также пробовал этот способ:
<input type="text" data-toggle="tooltip" class="form-control tooltipped text-truncate" id="position"
placeholder="{{'wfrh_vacancyform_position' | translate}}"
data-title="{{'wfrh_vacancyform_position' | translate}}" />
, который также не работает (он работает только для заполнителя), поэтому я застрял.
Если я сделаю:
<input type="text" data-toggle="tooltip" class="form-control tooltipped text-truncate" id="position"
[attr.placeholder]="'wfrh_vacancyform_position' | translate"
[attr.title]="'wfrh_vacancyform_position' | translate" />
, то всплывающая подсказка отображается, но без стиля, как это видно на следующем изображении:
И вот как я создаю подсказки в коде (в ngOnInit):
ngOnInit() {
setTooltip()
}
setTooltip() {
$('.tooltipped').tooltip({
placement: 'auto',
trigger: 'focus',
template: '<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner bg-dark text-light"></div></div>'
});
$('.tooltipped').bind("mouseover", function () {
var _this = $(this);
_this.tooltip("show");
});
$('.tooltipped').bind("mouseout", function () {
var _this = $(this);
_this.tooltip("hide");
});
$('.tooltipped').bind("keyup", function () {
var _this = $(this);
_this.tooltip("hide");
});
}
Ну, я застрял.Мне нужно отобразить эту красивую подсказку с переводом.Любая помощь / идеи?
Спасибо.