【问题标题】:angular bootstrap accordion is-open scope角引导手风琴是开放范围
【发布时间】:2016-05-20 21:59:52
【问题描述】:

我正在尝试弄清楚如何从组内的按钮关闭手风琴组.. 似乎应该很容易.. 但看起来是仅在组内定义范围而在控制器?在第一个按钮下方的代码 sn-p 中,我想如何关闭手风琴组。第二个按钮有效。

这是关于我正在做的事情的一个简单的 plunkr https://plnkr.co/edit/bghRaioszH3SZmiWxcoH?p=preview

 <uib-accordion close-others="true" ng-controller="testCtrl">
      <uib-accordion-group panel-class="panel-primary" is-open="status.isOpen">
        <uib-accordion-heading>
        Open: {{ status.isOpen }}
        <i class="pull-right glyphicon" ng-class="{'glyphicon-chevron-down': status.isOpen, 'glyphicon-chevron-right': !status.isOpen}"></i>
        </uib-accordion-heading>
      <button class="btn btn-warning" ng-click="close()">Cancel</button>
      <button class="btn btn-warning" ng-click="status.isOpen=!status.isOpen">Cancel</button>
  </uib-accordion-group>
    </uib-accordion>

【问题讨论】:

    标签: angularjs angularjs-scope angular-ui-bootstrap bootstrap-accordion


    【解决方案1】:

    要通过控制器的范围访问手风琴组的状态,您需要执行以下操作:

    1. ng-controller="testCtrl" 移动到&lt;body&gt; 元素

    2. 在控制器范围内明确定义状态:

    .controller('testCtrl', function($scope) { $scope.status = { isOpen: true } $scope.close = function(){ $scope.status.isOpen = false; }; });

    【讨论】:

    • 在我的生产应用程序中,控制器是在视图状态定义中定义的。控制器的许多其他功能都可以正常工作。
    • 嗯!在 plunkr 中进行这种更改确实会产生我正在寻找的结果!我想我需要弄清楚如何使用我正在使用的 .state 路由器控制器模型进行合并。
    • 好吧。不知道我改变了什么使它工作。上面的答案一定以某种方式把我带到了那里。现在一切正常.. 谢谢。
    猜你喜欢
    • 1970-01-01
    • 2015-10-13
    • 1970-01-01
    • 1970-01-01
    • 2023-01-03
    • 2018-11-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-21
    相关资源
    最近更新 更多