angular2-template - angular2 bootstrap4 工具提示不呈现 html,而 popover 会

标签 angular2-template bootstrap-4 twitter-bootstrap-tooltip

我正在使用 angular2 和 bootstrap4。 Popover 正确地将原始 html 呈现为粗体文本 asdf

<img src="assets/images/1.jpg"
                             data-container="body" data-toggle="popover" data-html="true" data-placement="top"
                             [attr.data-content]="getM()"/>

但是,工具提示呈现为普通 <b>asdf</b>包含标签的文本

<img src="assets/images/2.jpg"
                              data-container="body" data-toggle="tooltip" data-html="true" data-placement="top"
                              [attr.title]="getM()"/>

组件方法getM:

  public getM(): string {
    return '<b>asdf</b>';
  }

tooltip 和 popover 的初始化方式相同

$(function () {
  $('[data-toggle="tooltip"]').tooltip({container: 'body'});
  $('[data-toggle="popover"]').popover({container: 'body'});
})

谁能解释一下这是为什么以及如何解决?这似乎与初始化顺序有关,但我只是不知道该往哪里看。

最佳答案

好吧,问题是我的元素(附有工具提示)是动态创建的。

确切地说,我有 1 秒的延迟服务。当新数据到达时,<img>我的组件中的元素已重新创建,但是 $('[data-toggle="tooltip"]')选择器不适用于动态元素。

相反,我不得不使用这个选择器

 $("body").tooltip({selector: '[data-toggle="tooltip"]'});

现在它按预期工作了。

PS 我不是前端开发人员,所以欢迎任何能用更好的术语解释它的人。

关于angular2-template - angular2 bootstrap4 工具提示不呈现 html,而 popover 会,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45403358/

相关文章:

Angular 2 的双向绑定(bind)不适用于 Electron 应用程序的初始加载

javascript - Angular组件继承,保留父html

typescript - 在 Angular2 中实现动态路由(Typescript)

javascript - Bootstrap 4 工具提示脱离 div

jquery-plugins - 如何将 bootstrap.tooltips 插件应用于动态生成的元素?

angular - 在angular2中使用订阅调用成功,错误回调?

javascript - Onclick 功能不适用于引导模式

html - 在背景图像上垂直和水平对齐 bootstrap 4 容器列

html - 如何使错误消息出现在 bootstrap 4 中输入框的右侧?

php - 在基于 PHP 的系统上正确使用 Bootstrap 3 Tooltip