【问题标题】:Using bootstrap accordion on an angularjs page在 angularjs 页面上使用引导手风琴
【发布时间】:2015-11-12 17:44:57
【问题描述】:

当我尝试在 AngularJS 页面中运行以下代码时遇到问题。

      <div class='panel-group' id=accordion'>
        <div class="panel panel-default">
          <h4 class="panel-title">
            <a data-toggle='collapse' data-parent='#accordion' href='#collapseOne'>foo</a>
          </h4>
          <div id='collapseOne' class='panel-collapse collapse'>
            <div class='panel-body'>
              <p>foo</p>
            </div>
          </div>
        </div>
      </div>

代码是正确的,但是由于 Angular 使用 # 作为例程的锚点,所以当我单击切换手风琴时,它会将我重定向到我的主页。 有什么办法可以防止这种情况发生吗?

ps:我知道有一个用于 angularjs 的库 ui-bootstrap,其中包含处理手风琴的指令,我只是想知道是否有办法在没有它的情况下解决我的问题 :)。

【问题讨论】:

    标签: javascript html angularjs twitter-bootstrap


    【解决方案1】:

    如果您想要一种快速的稍微有点 hacky 的方式而不编写自己的指令或使用 BootstrapUI,您也许可以绕过切换手风琴的引导 jQuery 方式并将角度指令放入标记中:

    <div class='panel-group' id=accordion'>
        <div class="panel panel-default">
            <h4 class="panel-title">
                <a data-ng-click="accordion1 = !accordion1">foo</a>
            </h4>
            <div data-ng-show="accordion1">
                <div class='panel-body'>
                    <p>foo</p>
                </div>
            </div>
        </div>
    </div>
    

    如果从正文包装器中删除的 collapse 类除了显示/隐藏之外还可以做任何事情,则可能需要一些轻微的 css

    【讨论】:

    • 很好的答案~它解决了我的问题。 'collapse' 类似乎唯一添加的东西(与这个 Angular 不同)是平滑的下拉效果;
    猜你喜欢
    • 2016-04-25
    • 1970-01-01
    • 1970-01-01
    • 2018-11-01
    • 1970-01-01
    • 2023-01-03
    • 2020-10-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多