Angularjs Angular中的动态引导下拉列表不工作
我正在尝试创建一个引导导航栏,其中包含两级数组中的下拉菜单。但是,只有当Angularjs Angular中的动态引导下拉列表不工作,angularjs,twitter-bootstrap,drop-down-menu,Angularjs,Twitter Bootstrap,Drop Down Menu,我正在尝试创建一个引导导航栏,其中包含两级数组中的下拉菜单。但是,只有当上的下拉类和上的下拉切换类是硬编码时,下拉列表才会工作 因为我的一些菜单项应该有一个下拉列表,而有些不应该,所以我想使用ng类来设置它们。有没有办法延迟ui引导直到html被编译 我在某处发现jQuery('.dropdown toggle').dropdown();可能会重新初始化下拉列表,但在我的示例中无法识别dropdown()函数 <div class="navbar-collapse collapse">
上的下拉类和
上的下拉切换类是硬编码时,下拉列表才会工作
因为我的一些菜单项应该有一个下拉列表,而有些不应该,所以我想使用ng类来设置它们。有没有办法延迟ui引导直到html被编译
我在某处发现jQuery('.dropdown toggle').dropdown();可能会重新初始化下拉列表,但在我的示例中无法识别dropdown()函数
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li ng-repeat="navItem in structure.navItems" ng-class="{'active': structure.isActive(navItem), 'dropdown': navItem.subItems}"> <a href="{{navItem.href}}" ng-class="{'dropdown-toggle': navItem.subItems}" data-toggle="dropdown">
{{navItem.name}}
<span class="caret" ng-if="navItem.subItems"></span>
</a>
<!-- start dropdown menu -->
<ul class="dropdown-menu">
<li ng-repeat="subItem in navItem.subItems"> <a href="{{subItem.href}}" ng-class="{'active': structure.isActive(subItem)}">
{{subItem.name}}
</a>
</li>
<!-- dit kan ook nog: <li class="divider"></li>
<li class="dropdown-header">Nav header</li>
-->
</ul>
<!-- end dropdown menu -->
</li>
</ul>
</div>
-
-
{{story.storyContent[0]}
- 0
- 1
- 2
- 3
- 5
- 8
- 13
- 20
- 40
- 100
- XS
- S
- M
- L
- XL
- XXL
- Easy
- Medium
- Hard
我已经设法让它工作的基础上解决方案,从不同的职位。
诀窍是使用ui引导的选项下拉菜单append to body
(具有呈现DOM的内容),并且在应用上述其他参数之前使用ng if
。
免责声明:下拉不是像Twitter的Bootstrap一样平滑,但它是有效的。你应该考虑使用角UI引导程序:只需清楚:我实际上是使用了角UI引导程序,如果你可以添加一个jsFoDLE,定义了范围变量和函数,它可能有助于调试该程序issue@Jurgen您的代码片段是否正常工作?请尝试使您的代码片段更简洁,以便人们更容易提取信息
<div class="card" ng-repeat="story in $ctrl.storiesToEstimate" ng-if="!$ctrl.isAdmin">
<div class="row">
<div class="col-10">
<p>
{{ story.storyContent[0] }}
</p>
</div>
<div class="col-2">
<div
uib-dropdown
dropdown-append-to-body
>
<a
class="btn"
uib-dropdown-toggle
id="dynamic-dropdown"
href="#"
>
Select Scale
</a>
<ul
ng-if="$ctrl.arrayOfSessions[0].selected === 'Fibonacci'"
uib-dropdown-menu
aria-labelledby="dynamic-dropdown"
class="dropdown-menu"
role="menu"
>
<li role="menuitem" ng-click="$ctrl.selectedValue(0)">0</li>
<li role="menuitem" ng-click="$ctrl.selectedValue(1)">1</li>
<li role="menuitem" ng-click="$ctrl.selectedValue(2)">2</li>
<li role="menuitem" ng-click="$ctrl.selectedValue(3)">3</li>
<li role="menuitem" ng-click="$ctrl.selectedValue(5)">5</li>
<li role="menuitem" ng-click="$ctrl.selectedValue(8)">8</li>
<li role="menuitem" ng-click="$ctrl.selectedValue(13)">13</li>
<li role="menuitem" ng-click="$ctrl.selectedValue(20)">20</li>
<li role="menuitem" ng-click="$ctrl.selectedValue(40)">40</li>
<li role="menuitem" ng-click="$ctrl.selectedValue(100)">100</a>
</ul>
<ul
ng-if="$ctrl.arrayOfSessions[0].selected === 'T-Shirt'"
uib-dropdown-menu
aria-labelledby="dynamic-dropdown"
role="menu"
>
<li role="menuitem" ng-click="$ctrl.selectedValue('XS')">XS</li>
<li role="menuitem" ng-click="$ctrl.selectedValue('S')">S</li>
<li role="menuitem" ng-click="$ctrl.selectedValue('M')">M</li>
<li role="menuitem" ng-click="$ctrl.selectedValue('L')">L</li>
<li role="menuitem" ng-click="$ctrl.selectedValue('XL')">XL</li>
<li role="menuitem" ng-click="$ctrl.selectedValue('XXL')">XXL</li>
</ul>
<ul
ng-if="$ctrl.arrayOfSessions[0].selected === 'Gamer'"
uib-dropdown-menu
aria-labelledby="dynamic-dropdown"
role="menu"
>
<li role="menuitem" ng-click="$ctrl.selectedValue('Easy')">Easy</li>
<li role="menuitem" ng-click="$ctrl.selectedValue('Medium')">Medium</li>
<li role="menuitem" ng-click="$ctrl.selectedValue('Hard')">Hard</li>
</ul>
</div>
</div>
</div>
</div>