【发布时间】:2018-09-27 14:22:29
【问题描述】:
我正在开发一个 Angular 6 应用程序,它使用 ngx-translate 进行本地化,我也在使用 Bootstrap 4 工具提示,我面临的问题是我无法使用本地化来保持 Bootstrap 工具提示样式。
如果没有本地化,我会以这种方式使用输入:
<input type="text" class="form-control text-truncate" id="position"
placeholder="position" data-title="position" />
这将显示一个非常漂亮的引导工具提示,如下所示:
使用 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 属性。 “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");
});
}
好吧,我被困住了。我需要能够通过翻译显示这个漂亮的工具提示。有什么帮助/想法吗?
谢谢。
【问题讨论】:
标签: css angular html bootstrap-4 tooltip