Popover + Angular + Bootstrap 4.3 失败

Aha*_*ack 4 popover bootstrap-4 angular

我正在尝试使用 getbootstrap 站点中的示例代码 popover 元素。

环境:Angular 8.0.0 JQuery 3.4.1 Popper.js 1.15.0 Bootstrap 4.3.1 ToolTip 1.6.1

angular.json 我已经加载了脚本

"scripts": [
  "node_modules/jquery/dist/jquery.min.js",
  "node_modules/popper.js/dist/popper.min.js",
  "node_modules/tooltip/dist/Tooltip.js",
  "node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"]
Run Code Online (Sandbox Code Playgroud)

},

样式文件

@import "~bootstrap/dist/css/bootstrap.css";
Run Code Online (Sandbox Code Playgroud)

索引.html

<script>
  $(function () {
    $('[data-toggle="popover"]').popover()
  })
</script>

<button type="button" class="btn btn-lg btn-danger" data-toggle="popover" title="Popover title" data-content="And here's some amazing content. It's very engaging. Right?">Click to toggle popover</button>
<button type="button" class="btn btn-secondary" data-toggle="tooltip" data-placement="top" title="Tooltip on top">
  Tooltip on top
</button>
<script>
  $(function () {
    $('[data-toggle="popover"]').popover()
  })
</script>
Run Code Online (Sandbox Code Playgroud)

Bootstrap 样式似乎工作正常,但示例工具提示和弹出框不起作用。

即使我用 CDN 方法加载,我似乎也无法让这些工作。

  1. 没有编译错误,angular.json 中的脚本 [] 似乎正在运行

  2. 当我在 index.html 中运行 jquery 测试时,我被告知它没有运行。显然我不明白 angular.json scripts[] 指令提供了什么。还有什么我应该添加以使库可用的吗?

  3. 当我通过 CDN 加载时,我在控制台中收到以下错误:

Uncaught Error: TOOLTIP: Option "sanitizeFn" provided type "window" but expected type "(null|function)"

小智 5

我对工具提示有同样的问题。一种可能的解决方法是定义一个 sanitize 函数并将 sanitize 设置为 false 以避免调用此函数。

我之前的代码

jQuery(this.elementRef.nativeElement).tooltip({placement: place, trigger: 'hover'});
Run Code Online (Sandbox Code Playgroud)

Angular 8 的工作功能

jQuery(this.elementRef.nativeElement).tooltip({
   placement: place, trigger: 'hover', sanitize: false, sanitizeFn: content => content
});
Run Code Online (Sandbox Code Playgroud)