Angular 2 Bootstrap 4 and ng-bootstrap

3

我有点困惑,如果我们可以直接使用Bootstrap 4的类(包括容器和模态框),那么由Angular团队构建的ng-bootstrap的需求是什么?我一直在不同的地方使用ng-bootstrap和Bootstrap 4语法,没有特定的原因,这变得混乱了... 有没有一般规则来使用它们中的任何一个?

1个回答

3
使用ng-bootstrap的主要原因之一是其具有JavaScript兼容性。常规的Twitter Bootstrap依赖于jQuery进行数据操作。它还通过设置类(如“.active”)或从现有元素中删除类来操作元素的状态。
另一方面,ng-bootstrap不需要jQuery运行。所有元素都是使用不需要jQuery的代码从头构建的,并且与Angular Core良好协作。它还利用Bootstrap CSS文件帮助保留Bootstrap组件的外观和感觉。
总之,如果您使用Twitter Bootstrap,则仅依赖于jQuery进行JavaScript。当您使用ng-bootstrap时,您完全摆脱了jQuery领域,并且会纯粹地依靠AngularJS为您提供功能部分。 ng-bootstrap和Twitter Bootstrap唯一共同点就是元素的CSS样式。
希望这样清除了困惑。

是的,谢谢。同时使用完整的Twitter Bootstrap和ngbootstrap有什么问题吗?例如,ng-bootstrap没有提供某些Twitter Bootstrap提供的功能,从Twitter Bootstrap复制粘贴代码并使用它不是很好吗?在一个项目中同时使用两者的最佳部分不是更好吗? - user172902
1
是的,这会很好。但是JS部分怎么办?你也想复制它吗?如果是的话,你能确保它不依赖于jQuery吗?如果你想从jQuery中复制适当的代码或完全复制jQuery到AngularJS项目中,那么防止代码膨胀的目的就失败了。实际上,在使用Angular 2应用程序时,您可以将jQuery与其他库一起放在“assets”文件夹中。但这意味着您没有充分利用Angular的全部功能。迁移到完整的AngularJS既费力又耗时,但是值得的。 - Devner

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接