javascript - Angular 用户界面 Bootstrap : Make accordion save state

标签 javascript angularjs angular-ui angular-ui-bootstrap

如何让 Angular UI Boot strap 中的 Accordion 保存其状态?

我想要的行为是用户点击 Accordion 内部的链接,然后点击返回,相同的组像以前一样展开。

如果有帮助,我正在使用带有 ui-router 的 SPA,我很乐意将其状态保存为 cookie。

我还没有走很远,因为我还没有弄清楚如何读取 Accordion 的状态,更不用说保存它了。

最佳答案

就像这样:

<accordion>
    <accordion-group heading="Scrooge Mcduck" is-open="storage.mcduck" ng-click="select('mcduck')">
        Quack Wealthy!
    </accordion-group>
    <accordion-group heading="LaunchPad Mcduck" is-open="storage.launchpad" ng-click="select('launchpad')">
        Quack Pilot!
    </accordion-group>
</accordion>

Controller

angular.module('myApp').controller('AccordionController', function ($scope, DuckStorage) {
  $scope.storage = DuckStorage;
  $scope.select  = function(duck) {
    DuckStorage[duck] = !DuckStorage[duck];
  }
});

服务:

angular.module('MyApp').factory('DuckStorage', function () {
  return {};
});

关于javascript - Angular 用户界面 Bootstrap : Make accordion save state,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22457672/

相关文章:

javascript - 单击链接时将 AngularJS $scope 变量传递给新 Controller

angularjs - Angular 用户界面 : Dropdown not working with datepicker

angularjs - 如果表单控件具有无效数据,$setPristine() 将无法正常工作

javascript - 组合来自多个 javascript block 的代码会导致错误?

javascript - 修复 "a"标签 "title"属性上的 css

javascript - AngularJS + d3js : Issues with resizing objects

angularjs - $http后端 : Angular Unit-Testing that a GET request is sent

javascript - 无法设置 null 的属性 'src'

javascript - 使用三次贝塞尔曲线更改 Bootstrap 轮播动画持续时间

javascript - 如何将 emberjs 中的项目列表中的特定项目信息链接到模板