一个引导下拉列表工作,另一个不在同一页面上

时间:2015-05-14 21:25:21

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

我有一个带有两个下拉元素的导航栏,由bootstrap-ui控制。

奇怪的是,一个人在工作而另一个人没有。这段代码来自mean.js样板,所以熟悉它的人都会知道他们的方法。我怀疑它与bootstrap javascript文件的顺序有关。这是我的订单:

<script type="text/javascript" src="lib/jquery/dist/jquery.js"></script>
<script type="text/javascript" src="lib/bootstrap/dist/js/bootstrap.js"></script><script type="text/javascript" src="lib/angular/angular.js"></script>
<script type="text/javascript" src="lib/angular-ui-router/release/angular-ui-router.js"></script>
<script type="text/javascript" src="lib/angular-animate/angular-animate.js"></script>
<script type="text/javascript" src="lib/angular-bootstrap/ui-bootstrap.js"></script>
<script type="text/javascript" src="lib/angular-bootstrap/ui-bootstrap-tpls.js"></script><script type="text/javascript" src="lib/angular-resource/angular-resource.js"></script>
<script type="text/javascript" src="lib/angular-cookies/angular-cookies.js"></script>
<script type="text/javascript" src="lib/angular-touch/angular-touch.js"></script><script type="text/javascript" src="lib/angular-sanitize/angular-sanitize.js"></script>
<script type="text/javascript" src="lib/angular-ui-utils/ui-utils.js"></script><script type="text/javascript" src="lib/angular-ui-bootstrap-datetimepicker/datetimepicker.js"></script>

这是违规代码

 //This guy isn't working at all!!
    <nav class="collapse navbar-collapse" collapse="!isCollapsed" role="navigation">
        <ul class="nav navbar-nav" data-ng-if="menu.shouldRender(authentication.user);">
            <li data-ng-repeat="item in menu.items | orderBy: 'position'" data-ng-if="item.shouldRender(authentication.user);" ng-switch="item.menuItemType" ui-route="{{item.uiRoute}}" class="{{item.menuItemClass}}" ng-class="{active: ($uiRoute)}" dropdown="item.menuItemType === 'dropdown'">
                <a ng-switch-when="dropdown" class="dropdown-toggle">
                    <span data-ng-bind="item.title"></span>
                    <b class="caret"></b>
                </a>
                <ul ng-switch-when="dropdown" class="dropdown-menu">
                    <li data-ng-repeat="subitem in item.items | orderBy: 'position'" data-ng-if="subitem.shouldRender(authentication.user);" ui-route="{{subitem.uiRoute}}" ng-class="{active: $uiRoute}">
                        <a href="/#!/{{subitem.link}}" data-ng-bind="subitem.title"></a>
                    </li>
                </ul>
                <a ng-switch-default href="/#!/{{item.link}}" data-ng-bind="item.title"></a>
            </li>
        </ul>

       //This guy is working no problem
        <ul class="nav navbar-nav navbar-right" data-ng-show="authentication.user">
            <li class="dropdown">
                <a href="#" class="dropdown-toggle" data-toggle="dropdown">
                    <span data-ng-bind="authentication.user.displayName"></span> <b class="caret"></b>
                </a>
                <ul class="dropdown-menu">
                    <li>
                        <a href="/#!/settings/profile">Edit Profile</a>
                    </li>
                    <li>
                        <a href="/#!/settings/accounts">Manage Social Accounts</a>
                    </li>
                    <li data-ng-show="authentication.user.provider === 'local'">
                        <a href="/#!/settings/password">Change Password</a>
                    </li>
                    <li class="divider"></li>
                    <li>
                        <a href="/auth/signout">Signout</a>
                    </li>
                </ul>
            </li>
        </ul>
    </nav>

有没有人知道这里有什么想法?

我正在使用bootstap-ui v 0.12.1以防万一。

1 个答案:

答案 0 :(得分:0)

您正在加载“竞争”库。首先,Angular UI Bootstrap库旨在取代Bootstrap javascript实现(请参阅哲学部分this),所以删除:

<script type="text/javascript" src="lib/angular-bootstrap/ui-bootstrap.js"></script>

其次,有两个Angular UI Bootstrap包,一个包含指令模板,另一个没有(详细说明here),所以删除:

select ID, 
       name,
       image,
       case when percent < 50 then 0
            when percent < 75 then 1
            else 2
            as level, 
       percent
  from some_table;

最有可能发生的是,3个图书馆都附加了他们自己的关闭/打开处理程序,他们互相争斗。