【问题标题】:ui-bootstrap-tpls and ui-bootstrapui-bootstrap-tpls 和 ui-bootstrap
【发布时间】:2016-11-20 17:38:33
【问题描述】:

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

我遇到了window.html找不到as described in this topic的问题。

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

According to this topic,我应该只需要 tpls 文件。 但是,当我删除 boostrap.js 文件时,我的标题中下拉菜单的所有其他引导功能都不再起作用了。

难道不能同时使用这两种功能吗?

【问题讨论】:

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


    【解决方案1】:

    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 后下拉菜单停止工作的答案是,您的 HTML 代码仍在使用 jQuery 版本的 Bootstrap,但您应该开始使用这些模块的 ui-bootstrap 版本。是的,可以同时包含 Angular 版本的 bootstrap(即ui-bootstrap.min.js)和 jQuery 版本的 bootstrap(bootstrap.js),但这会增加应用程序的开销。

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

    【讨论】:

    • 谢谢,我好像用 jquery.js、boostrap.js、angular.js 和 ui-boostrap-tpls.js 搞得一团糟。我将尝试删除 Jquery 版本。
    • 是的,如果您没有将 jQuery 用于 Bootstrap 之外,最好摆脱它并开始使用 ui-bootstrap。这也将使您的应用免于加载额外数据,并且速度会更快。
    【解决方案2】:

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

    如果你改成 ui-bootstrap-tpls 那么你需要把相应的引导组件改成 angular ui 指令。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多