在我的应用程序中,我正在使用boostrap.ui的$modal
指令。我也在使用具有下拉功能的Bootstrap导航栏。
我遇到了无法找到window.html的问题{。{3}}。
我的问题是我同时包含ui-boostrap.js
文件和ui-bootstrap-tpls
文件(v1.3.2)
as described in this topic,我应该只需要tpls文件。 但是,当我删除boostrap.js文件时,我标题中下拉列表的所有其他引导功能都不再有效。
这两种功能都不可用吗?
答案 0 :(得分:3)
UI-Bootstrap库只是核心Bootstrap库的Angular包装器,用于删除jQuery与应用程序的依赖关系。来自文档:
此存储库包含一组基于的本机AngularJS指令 Bootstrap的标记和CSS。因此,不依赖于jQuery或 需要Bootstrap的JavaScript。
ui-bootstrap-tpls.min.js
或ui-bootstrap-tpls.js
包含Bootstrap提供的所有Javascript模块的默认模板,即为什么将其命名为-tpls
。
其他文件ui-bootstrap.min.js
或ui-bootstrap.js
不包含任何Javascript模块/功能模板。
因此,如果您不打算覆盖任何模板,则只应包含ui-bootstrap-tpls.min.js
或ui-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指令。