Angular Popover&x2B;角度+;引导4.3失败

Angular Popover&x2B;角度+;引导4.3失败,angular,bootstrap-4,popover,Angular,Bootstrap 4,Popover,我试图使用getbootstrap站点中的示例代码popover元素 环境: 角度8.0.0 JQuery 3.4.1 Popper.js 1.15.0 引导4.3.1 工具提示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/T

我试图使用getbootstrap站点中的示例代码popover元素

环境: 角度8.0.0 JQuery 3.4.1 Popper.js 1.15.0 引导4.3.1 工具提示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"]
},

style.css

@import "~bootstrap/dist/css/bootstrap.css";
index.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>

$(函数(){
$('[data toggle=“popover”]')。popover()
})
单击以切换弹出窗口
顶部的工具提示
$(函数(){
$('[data toggle=“popover”]')。popover()
})
引导样式看起来很好,但示例工具提示和弹出窗口却不行

即使我使用CDN方法加载,我似乎也无法让它们工作

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

  • 当我在index.html中运行jquery测试时,我被告知它没有运行。显然,我不明白angular.json scripts[]指令提供了什么。我是否应该添加其他内容以使这些库可用

  • 通过CDN加载时,控制台中出现以下错误:


  • Uncaught错误:工具提示:选项“sanitizeFn”提供了类型“window”,但需要类型(null | function)”

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

    我以前的代码

    jQuery(this.elementRef.nativeElement).tooltip({placement: place, trigger: 'hover'});
    
    角度为8的工作函数

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

    我也有同样的问题,这帮了我,检查一下

    加载tooltip函数时,只需定义tooltip的“sanitizeFn”属性,即可执行以下操作:

    $('[data-toggle="tooltip"]').tooltip({
        sanitizeFn: function (content) {return content;}
    });
    

    看起来有一个不需要jQuery的Angular Popper库——实际上,您应该引入一个Angularized引导库。像这样使用jquery在angular中是混乱的,因为页面生命周期是不同的-如果您想将jquery事件与angular呈现按钮等一起使用,请看这里。啊,好的。在这一点上,我一直在阅读的文档并不是非常清楚。这是有道理的。我担心混合使用angular npm angular模块和ng引导模块会导致冲突。但这是有道理的。我会试试这个,然后回来汇报。谢谢你的建议。@dmoo再次感谢你的建议。我所了解到的是,有两个相互竞争的角度化引导模块版本。我选择使用ngx引导。从主流引导库加载CSS,再加上为angular加载ngx引导模块,解决了我的问题,并使安装程序不那么混乱,因为我不需要担心加载javascript库。再次感谢!在将Angular 7升级到Angular 8之后,我也遇到了同样的问题。它在Angular 7中工作得很好。还没修好。