【发布时间】:2021-06-13 20:28:53
【问题描述】:
我正在开发一个使用 Angular 11 的项目,我们想使用 Bootstrap 5 原生 JS,没有第三方,如 ng-bootstrap、MDB 或 ngx-bootstrap(我们也没有使用 jQuery)。我知道在 TS 上使用 JS 库并不理想。
问题是如何导入Bootstrap JS并在Angular的TS组件中使用它的对象和方法。
最初我认为安装以下软件包就足够了:
npm i bootstrap@next
npm i @types/bootstrap
两者都已在package.json 中导入,并且在node_modules 中可用。我还在angular.json 中导入了"scripts": [ "node_modules/bootstrap/dist/js/bootstrap.js" ],但我仍然无法使用它们。
例如,如果我这样做:
import { Carousel } from 'bootstrap';
...
carousel: Carousel | any;
...
this.carousel = document.getElementById('video-carousel')
this.carousel.interval = false;
'bootstrap' 是 '@types/Bootstrap'。旋转木马不应该自动循环,但它会。其他所有 Bootstrap 类型都会发生这种情况。
【问题讨论】:
-
你可以假装它是一个普通的旧 HTML + JS 页面,并包含 和
-
@ChrisG 检查这个例子,它和你的一样,但是有一个崩溃,这不起作用。实际上,我自己的项目也遇到了类似的问题,该项目的堆栈与 OP 的堆栈相似。 codesandbox.io/s/blue-http-qoffm?file=/src/app/… 我正在尝试解决同样的问题,因为到目前为止唯一“修复”它的是使用 ng-bootstrap,而这并不是我真正想要的。如果您有任何想法,我会全力以赴。
-
@ChrisG 我宁愿避免在 HTML 中使用内联脚本,而是直接从组件的 TS 中执行。
标签: angular typescript twitter-bootstrap npm bootstrap-5