为Angular JS中正在折叠的Bootstrap DIV设置一个默认的打开状态
Set a default open state for an Angular JS collapsing Bootstrap DIV?
我有一个Bootstrap折叠div,我已经适应了Angular JS:
<fieldset>
<legend data-toggle="collapse" data-target="#radios" class="data-toggle" collapse>Radio Buttons</legend>
<div id="radios" class="panel-collapse collapse">
<!-- add class "collapse" to start out closed -->
<div class="panel-body">
...stuff...
</div>
</div>
</fieldset>
您在面板上设置collapse
类以使其开始时关闭(如此处)或省略它以使其开始时打开。
我已经写了这个指令来切换被点击项目的类,以显示一个"打开"或"关闭"图标:
'use strict';
angular.module('designSystemApp')
.directive('collapse', function() {
return {
restrict: 'A',
link: function postLink(scope, element, attrs) {
element.on({
click: function(e) {
element.toggleClass('open');
}
});
}
}
});
它像这样工作得很好,当它开始关闭并切换打开和关闭。
因为BS的方法是在子对象(面板)上设置类,我不确定如何影响Angular触发器对象,所以改变该类将在开始时设置状态/类为"打开"。
换句话说,如果我删除类,div开始打开,但 legend
没有打开类,所以图标是"关闭"。我尽量避免设置两个东西;寻找一种简单的方法来设置默认为打开或关闭
虽然没有直接回答,但为您提供了一个可能的解决方案/解决方案,我正在使用angular-bootstrap
库进行类似的任务。这个库可以在这里找到
一个适合你用例的折叠插件的例子:
<fieldset>
<legend ng-click="isCollapsed = !isCollapsed">Radio Buttons</legend>
<div id="radios" class="panel-collapse" collapse="isCollapsed">
<div class="panel-body">
...stuff...
</div>
</div>
</fieldset>
然后在你的angular指令或控制器中,你可以设置isCollapsed = true or false
,这取决于你是想让它默认打开还是关闭。
相关文章:
- 我的shareService在angular 2中发送值工作正常,但当我渲染我的另一个组件时,会获得默认值
- AngularJS ng选项在选择一个选项后删除了默认的空白值
- 调用一个“;默认瓦片”;在谷歌地图中
- 我在angular JS中选择了一个默认选项,并删除了两个单词之间的下划线
- 我在 MAP 初始化时创建了一个默认标记,但标记没有显示内容?我能为它做些什么
- 将一个默认选项放入一个选择中,该选择仍然可以使用jquery保留以前选择的值
- 是否可以在JS对象中添加一个默认函数(构造函数)
- Angular:从服务器端传递一个默认值
- 如何解析Express/ NodeJs中缺少内容类型的HTTP请求,通过假设一个默认的内容类型
- 如何让HTML显示一个默认字符串,然后用尖括号中的字符串替换
- 使用ng-options with angular显示带有键和值的选择选项,并设置一个默认值
- 显示一个默认项(javascript)
- 为什么window.open准备了一个默认的url
- Angular:在ng-repeat中设置一个默认值,如果某项的'属性不存在
- 我如何在输入字段内触发函数?或者一个默认的按钮,不需要提交
- 试图实现一个默认基类在javascript不确定其正确
- 在JavaScript中是否有一个函数使对象给定一个键数组和一个默认值
- 为Angular JS中正在折叠的Bootstrap DIV设置一个默认的打开状态
- 如何在D3上创建一个默认大小的笔刷
- 是否可以给变量一个默认值