ui-bootstrap-tpls和ui-bootstrap

时间:2016-07-18 07:47:17

标签: javascript angularjs twitter-bootstrap angular-ui-bootstrap

在我的应用程序中,我正在使用boostrap.ui的$modal指令。我也在使用具有下拉功能的Bootstrap导航栏。

我遇到了无法找到window.html的问题{。{3}}。

我的问题是我同时包含ui-boostrap.js文件和ui-bootstrap-tpls文件(v1.3.2)

as described in this topic,我应该只需要tpls文件。 但是,当我删除boostrap.js文件时,我标题中下拉列表的所有其他引导功能都不再有效。

这两种功能都不可用吗?

2 个答案:

答案 0 :(得分:3)

UI-Bootstrap库只是核心Bootstrap库的Angular包装器,用于删除jQuery与应用程序的依赖关系。来自文档:

  

此存储库包含一组基于的本机AngularJS指令   Bootstrap的标记和CSS。因此,不依赖于jQuery或   需要Bootstrap的JavaScript。

ui-bootstrap-tpls.min.jsui-bootstrap-tpls.js包含Bootstrap提供的所有Javascript模块的默认模板,即为什么将其命名为-tpls

其他文件ui-bootstrap.min.jsui-bootstrap.js不包含任何Javascript模块/功能模板。

因此,如果您不打算覆盖任何模板,则只应包含ui-bootstrap-tpls.min.jsui-bootstrap-tpls.js

关于删除bootstrap.js后dropdown停止工作的原因的答案是你的HTML代码仍在使用bootstrap的jQuery版本,但你应该开始使用这些模块的ui-bootstrap版本。是的,可以同时包含Angular版本的bootstrap(即ui-bootstrap.min.js)和jQuery版本的bootstrap(bootstrap.js),但这将是应用程序的额外开销。

如果您已经包含了ui-bootstrap库,则不需要jQuery来使用Bootstrap的Javascript功能。

答案 1 :(得分:1)

正如shashank所解释的那样,bootstrap.js中的所有bootstrap元素都转换为ui-bootstrap-tpls中的angular指令。 如果您只是替换文件,它将无法按预期工作。

如果更改为ui-bootstrap-tpls,则需要将相应的引导程序组件更改为angular ui指令。