我正在尝试在我的角度应用程序中包含以下bootstrap可折叠面板。但是,当我单击“展开”时,角度似乎看到href="#collapseOne"
,然后重定向到主页而不是折叠面板。我的路由看起来像这样,我认为otherwise({redirectTo: '/home'});
导致问题。有什么建议吗?
angular.module('App')
.config(['$routeProvider', function($routeProvider) {
$routeProvider.
when('/users', {templateUrl: 'partials/users/user-list.html', controller: 'UserCtrl'}).
when('/users/new', {templateUrl: 'partials/users/user-new.html', controller: 'UserNewCtrl'}).
when('/users/:userid', {templateUrl: 'partials/users/user-detail.html', controller: 'UserDetailCtrl'}).
otherwise({redirectTo: '/home'});
}]);
小组 -
<div class="panel-group" id="accordion">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a data-toggle="collapse" data-parent="#accordion" href="#collapseOne">
Expand
</a>
</h4>
</div>
<div id="collapseOne" class="panel-collapse collapse in">
<div class="panel-body">
...
</div>
</div>
</div>
</div>
答案 0 :(得分:90)
正如类似问题Here中所述,只需通过数据目标属性更改您的href
<div class="panel-group" id="accordion">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a href="javascript:;" data-toggle="collapse" data-parent="#accordion" data-target="#collapseOne">
Expand
</a>
</h4>
</div>
<div id="collapseOne" class="panel-collapse collapse in">
<div class="panel-body">
...
</div>
</div>
</div>
</div>
答案 1 :(得分:16)
您可以使用AngularJS UI Bootstrap中的accordion指令,该指令构建在twitter bootstrap崩溃指令之上。
示例:强>
<accordion >
<accordion-group heading="Static Header, initially expanded" is-open="true">
This content is straight in the template.
</accordion-group>
</accordion>
答案 2 :(得分:8)
我遇到了同样的问题,我并不想在bootstrap之外添加额外的库。根据建议,您可以使用data-target="#your-collapsing-element"
,完全删除href
属性。
要使面板折叠,您需要:
在用于触发崩溃的元素上:
data-toggle="collapse" data-target="#my-collapsing-element"
关于折叠的元素:
id="my-collapsing-element"
在包裹&#34;触发器&#34;的元素上元素和折叠元素:
class="panel"
您可以选择添加父元素以使其成为组的一部分,并添加添加css类&#34; collapse in
&#34;折叠元素使其默认状态关闭。一个完整的例子:
<div id="accordion">
<div class="panel">
<a data-toggle="collapse" data-parent="#accordion" data-target="#collapse1">
Heading 1
</a>
<div id="collapse1">
Content for panel 1
</div>
</div>
<div class="panel">
<a data-toggle="collapse" data-parent="#accordion" data-target="#collapse2">
Heading 2
</a>
<div id="collapse2" class="collapse in">
Content for panel 2
</div>
</div>
</div>
使用<button>
元素而不是<a>
可以获得更好的按钮行为。覆盖.panel
的bootstrap样式可以通过为panel
css类添加自己的样式来完成。
<div class="panel its-my-panel">
.panel.its-my-panel {
margin-bottom: 0;
background-color: transparent;
border: none;
border-radius: 0;
-webkit-box-shadow: none;
box-shadow: none;
}
.my-panel-heading {
cursor: pointer;
}
/* Overrides for .panel--theonly required bootstrap class */
.panel.my-panel-overrides {
margin-bottom: 0;
background-color: transparent;
border: none;
border-radius: 0;
-webkit-box-shadow: none;
box-shadow: none;
}
&#13;
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<div id="accordion">
<div class="panel my-panel-overrides">
<a class="my-panel-heading" data-toggle="collapse" data-parent="#accordion" data-target="#collapse1">
Collapsible Group 1</a>
<div id="collapse1" class="collapse in">
Content for panel 1
</div>
</div>
<div class="panel my-panel-overrides">
<a class="my-panel-heading" data-toggle="collapse" data-parent="#accordion" data-target="#collapse2">
Collapsible Group 2</a>
<div id="collapse2" class="collapse">
Content for panel 2
</div>
</div>
<div class="panel my-panel-overrides">
<a class="my-panel-heading" data-toggle="collapse" data-parent="#accordion" data-target="#collapse3">
Collapsible Group 3</a>
<div id="collapse3" class="collapse">
Content for panel 3
</div>
</div>
</div>
&#13;
答案 3 :(得分:2)
href
以展开 - 折叠为data-target
。data-target
的id
和div
不应包含连字符。答案 4 :(得分:0)
单击下面的按钮,通过课程更改显示和隐藏另一个元素:
崩溃隐藏内容
折叠
崩溃 .in显示内容
您可以使用带有 href 属性的链接,也可以使用带有数据目标属性的按钮。在这两种情况下,都需要 data-toggle =“collapse”。
请查看以下示例。
<div class="panel-group" id="accordion">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a href="javascript:;" data-toggle="collapse" data-parent="#accordion" data-target="#collapseOne">
Expand
</a>
</h4>
</div>
<div id="collapseOne" class="panel-collapse collapse in">
<div class="panel-body">
...
</div>
</div>