在 Angular ui Bootstrap 中控制 isOpen

2024-01-10

我想在 angualr ui bootstrap 手风琴指令中使用 isOpen 属性,这样它将打开手风琴中第一个 ng-repeat 的第一个元素。我尝试过一些事情但没有运气。谁能就此提出建议吗?

    //html
          <div ng-show="accordionCtrl.isNotString(value);" class="accordionContainer" ng-repeat="(key, value) in accordionCtrl.lessons">
      <div class="accordionStepBox">
        <h4 class="accordionStepTitle">Step {{$index+1}}: {{value.title}}</h4>
        <span>Summary: {{value.summary}}</span>
      </div>
      <div class="accordionCoursesBox">
        <div class="accordionCoursesText">Courses</div>

        <!-- accordion for suffles -->
        <uib-accordion close-others="accordionCtrl.oneAtATime">
          <!-- only give accordion to object vals -->
          <div class="accordion" ng-show="accordionCtrl.isNotString(value);" ng-repeat="(key, value) in value">
            <!-- <uib-accordion-group heading="{{value.title}}" is-open="accordionCtrl.firstIndex($index)"> -->
            <uib-accordion-group heading="{{value.title}}">
              <div ng-repeat="(key, value) in value">
                <div ng-show="accordionCtrl.isNotString(value);" class="accordionSuffleBox">
                  {{$index+1}}. {{value.title}} 
                </div>
              </div>
              <br/>
              <button ui-sref="lesson" class="btn btn-default accordionbutton">Start</button>
            </uib-accordion-group>
          </div>
        </uib-accordion>
      </div>
    </div>

    //controller
    angular
    .module('neuralquestApp')
    .controller('AccordionCtrl', AccordionCtrl);


  function AccordionCtrl(FirebaseUrl, $firebaseObject, $firebaseArray) {
    var accordionCtrl = this;
    var getLessons = getLessons;

    accordionCtrl.oneAtATime = true;

    accordionCtrl.init = init;
    accordionCtrl.init();
    accordionCtrl.isNotString = isNotString;
    accordionCtrl.firstIndex = firstIndex;

    /*======================================
    =            IMPLEMENTATION            =
    ======================================*/

    function init() {
      getLessons();
    }

    function firstIndex(index) {
      if(index === 0){
        return true;
      } else {
        return false;
      }
    }

    function getLessons() {
      var ref = new Firebase(FirebaseUrl);
      accordionCtrl.lessons = $firebaseObject(ref.child('NeuralNetwork'));
    }

    function isNotString(val) {
      // console.log('val', val);
      if(typeof val === "string"){
        console.log('is string', val);
        return false;
      } else {
        return true;
      }
    }

  }

is-open 属性设置为与控制器进行 2 路绑定,因此您可以执行如下操作:

<div ng-controller="AccordionDemoCtrl">
  <uib-accordion>
    <div ng-repeat="group in groups">
      <uib-accordion-group heading="{{group.title}}" is-open="openIndex[$index]">
        {{group.content}}
      </uib-accordion-group>
    </div>
  </uib-accordion>
</div>

angular.module('ui.bootstrap.demo').controller('AccordionDemoCtrl', function ($scope) {
  $scope.openIndex = [true];

  $scope.groups = [
    {
      title: 'Group Header - 1',
      content: 'Group Body - 1'
    },
    {
      title: 'Group Header - 2',
      content: 'Group Body - 2'
    },
    {
      title: 'Group Header - 3',
      content: 'Group Body - 3'
    },
    {
      title: 'Group Header - 4',
      content: 'Group Body - 4'
    }
  ];
});

Example plunk http://plnkr.co/edit/lpAdOULZ6THCgGkLmucm?p=preview。此外,close-others 属性默认值为 true,因此您无需显式将其设置为 true。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Angular ui Bootstrap 中控制 isOpen 的相关文章

随机推荐

  • 修改Http状态代码文本

    Question 如何修改状态代码文本 描述 标题 Example 例如 我想改变200 Ok to 200 My Custom Text 描述 我想创建一个带有自定义状态代码 未保留 431 的 HTTP 响应 我想修改它的文本 200
  • 从输入标签获取名称和值

    在你说 哦不 不再这样 之前 我先陈述一下我的情况 我正在解析 HTML 输出的一部分 我唯一感兴趣的是name and value每个的属性
  • 删除 androidx 首选项上的空白图标空间

    我刚刚将我的项目迁移到使用androidx图书馆 新的首选项 设置屏幕现在显示空的图标空间 如图所示here https developer android com guide topics ui settings organize you
  • 根据用户输入动态创建表

    我目前正在尝试使用 JS 和 HTML 动态创建一个表 但目前它似乎无法从用户输入中检索值 我做错了什么 提前致谢
  • 如何根据 XSD 文件验证 XML 文件?

    我正在生成一些 xml 文件 这些文件需要符合给我的 xsd 文件 我应该如何验证它们是否符合要求 Java 运行时库支持验证 上次我检查的是 Apache Xerces 解析器 你可能应该使用javax xml validation Va
  • Swift 将数组作为参数传递错误

    我刚刚开始使用 Swift 有人可以向我解释一下为什么我可以将数组作为参数传递 byRoundingCorners UIBezierPath roundedRect self bounds byRoundingCorners topLeft
  • Delphi在全局异常中的屏幕截图

    我正在开发一个组件 使用德尔福2006 该组件检索系统信息并写入文件 要求是我必须在组件中合并一个全局异常处理程序 因此当异常发生时它将被捕获并向用户显示我的自定义消息 procedure Tmy GlobalExceptionHandle
  • 在 C# 中通过节点名称和属性名称比较 XML

    我想通过标签名称和属性名称来比较两个 或更多 XML 文件 我对属性或节点的值不感兴趣 在 google 上搜索我发现 XMLDiff Patch http msdn microsoft com en us library aa302294
  • 如何在斯坦福 CoreNLP 服务器上使用自定义 TokensRegex 规则注释器?

    TokensRegex 规则颜色注释器 stanford corenlp full 2016 10 31 tokensregex color rules txt 通过命令行使用 CoreNLP 时加载成功 但对于 Web 服务器则失败jav
  • 如何将文件扩展名与 C# 中的当前可执行文件关联

    我想将文件扩展名与 C 中的当前可执行文件关联起来 这样 当用户随后在资源管理器中单击该文件时 它将使用给定文件作为第一个参数来运行我的可执行文件 理想情况下 它还会将给定文件扩展名的图标设置为我的可执行文件的图标 谢谢大家 似乎没有用于直
  • iOS 7 上的返回箭头

    我需要在我的应用程序中添加一个左栏按钮项目 它看起来像系统后退按钮 但不是系统后退按钮 因为它将出现在视图控制器上 这是我的 navController 堆栈的唯一 vc 并执行我自己的代码 简单地写 后退 对我来说并不是很好 因为我还需要
  • 如何消除除本地 Pod 之外的所有 Pod 的警告?

    我假设类似的事情 post install do installer Debug symbols installer pod project targets each do target target build configuration
  • 使用鼠标和 Swing 绘制(单色)数组的最简单方法是什么?

    我一直在寻找一种在屏幕上绘制黑白数组的方法 这是一个简单的数组 只有 20x20 我计划做的是用鼠标在数组上绘制 以便每个像素在单击时从黑色 切换 到白色并返回 然后将数组作为一组布尔值 或整数 传递给另一个函数 目前我正在使用 Swing
  • 使用 jQuery 发送 JSON 数据

    为什么下面的代码将数据发送为City Moscow Age 25而不是 JSON 格式 var arr City Moscow Age 25 ajax url Ajax ashx type POST data arr dataType js
  • 无子项但不为空的 CSS 选择器

    我想在下面的 HTML 片段中选择 BONKERS 它的区别在于它单独存在于一个 code 块 而它的所有兄弟都包含 a s empty是显而易见的选择 但由于文本节点而不起作用 我以为我知道这些东西 但这让我发疯 ul class Ref
  • Compute Engine SSH:您没有足够的权限通过 SSH 连接到此实例

    我无法通过浏览器或 gcloud 使用 ssh 访问我的 google 云计算引擎实例 我的用户帐户有所需的compute instances osLogin许可 事实上它有Owner角色 并且我已经设置了enable oslogin to
  • 导入错误:没有名为connector.conversion的模块

    我对 mySQL 非常陌生 刚刚将其安装在我的 Mac 操作系统 10 6 8 上 当我尝试通过终端连接数据库时 我收到以下消息 上次登录 6 月 17 日星期二 10 42 23 在控制台 mysqluc e help utility 上
  • 如何降级 jekyll 以使用 github 页面?

    我认为我的主要问题是 github 页面不支持 jekyll 4 这对我来说没问题 但是无论如何我如何降级 jekyll 才能工作呢 我尝试按照此处的说明进行操作 https github com github pages gem issu
  • 日志记录是否应该受到国际化的影响?

    我们目前正在考虑将我们的系列产品运送到世界其他地区 我们将确保用户界面中的所有字符串和日期格式等反映目标国家 地区的语言和文化 我们的日志文件和错误报告也应该这样改变吗 考虑到客户可能会查阅日志文件 或者我们可能在该国家 地区设有本地支持团
  • 在 Angular ui Bootstrap 中控制 isOpen

    我想在 angualr ui bootstrap 手风琴指令中使用 isOpen 属性 这样它将打开手风琴中第一个 ng repeat 的第一个元素 我尝试过一些事情但没有运气 谁能就此提出建议吗 html div class accord