angular - 当它是嵌套元素的一部分时,如何将 html 内容分配给 ngbPopover 和 popoverTitle?

标签 angular ng-bootstrap

我有一个使用 ngbPopover 的嵌套组件和 popoverTitle .将显示的内容将通过@Input()给出特性。

问题:
如果给定的输入类似于 "<b>Some Title</b>" ,我希望它是粗体而不是字面显示。

我尝试按照文档 here 中的说明使用,但就我而言,无论我绑定(bind)什么都会有标记。我的标记不是预定义的。所以这没有帮助。

import { Component, Input } from "@angular/core";

@Component({
    selector: "help-popup",
    template: `<span 
      class="fa fa-question-circle-o btn-outline-info btn-sm"
      style="font-size: 18px" triggers="focus:blur"
      [placement]="placement"
      [ngbPopover]="helpText"
      container="body"
      [popoverTitle]="helpTitle"></span>`
})

export class HelpPopupComponent {
    @Input() placement: string = "top";
    @Input() helpText: string = "";
    @Input() helpTitle: string = "";
}

我想像这样使用它:
<help-popup helpTitle="<b>Bold Title</b>"
              helpText="<u>Underline text</u>"></help-popup>

最佳答案

ng-bootstrap Popover 组件允许其内容包含 HTML,但据我在 the documentation 中所见,不在其标题中:ngbPopover属性可以是模板,popoverTitle属性只是一个字符串。

This plunker ,改编自 ng-bootstrap 文档,展示了如何显示 helpText作为弹出窗口中的 HTML 内容。在弹出框模板中,helpText 的值直接分配给 innerHTML div 元素的属性以避免 HTML escaping插值会发生这种情况:

<ng-template #popContent><div [innerHTML]="helpText"></div></ng-template>

并且模板绑定(bind)到 ngbPopover元素属性:
<button ... [popoverTitle]="helpTitle" [ngbPopover]="popContent">
  ...
</button>

关于angular - 当它是嵌套元素的一部分时,如何将 html 内容分配给 ngbPopover 和 popoverTitle?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47944691/

相关文章:

bootstrap-4 - ng-bootstrap 1.0 - 进度条居中值

javascript - Angular 2日期管

css - 如何在 Angular 中正确处理 Scroll 上的导航栏颜色变化?

Angular 2 单选按钮未使用响应式(Reactive)表单正确初始化

angular - 单击选项卡时单击监听器 - angular2 和 ng bootstrap

twitter-bootstrap - 如何更改 Bootstrap 卡头的背景颜色?

angular - Angular2 RC5 入门与 ng-bootstrap 404 错误

javascript - Angular :未知 'null !' 语法

Angular ,在获得 promise 值后无法访问另一个函数中的值

c# - Angular 7 与 SignalR Hub 的连接失败