【问题标题】:how to save collapsed panel state when page refresh页面刷新时如何保存折叠的面板状态
【发布时间】:2015-08-29 02:17:16
【问题描述】:

页面刷新时如何保存折叠的面板状态?

请查看默认状态:

group header 2 在以下状态下折叠:

页面刷新时,更改被破坏。页面刷新时如何保存折叠面板状态?

我的 angularjs 代码:

angular
    .module('indexCtrl', [])
    .controller('indexCtrl', [
        '$scope',
        '$location',
        '$stateParams',
        '$state',
        '$rootScope',
        function ($scope, $location, $stateParams, $state, $rootScope) {
            $state.changeTitle($state.current.title);
            $scope.oneAtATime = false;

            $scope.groups = [
              {
                  title: 'Dynamic Group Header 1',
                  content: 'Dynamic Group Body 1',
                  isOpen:true
              },
              {
                  title: 'Dynamic Group Header 2',
                  content: 'Dynamic Group Body 2',
                  isOpen: true
              }
            ];
        }
    ]);

【问题讨论】:

  • 这是一个广泛的问题,实际上取决于您的目标。您的代码是否有服务器端组件?你反对使用本地存储或cookies吗?如果您的问题是您是否可以单独使用 AngularJS 来做到这一点,那么答案是否定的。
  • 我该如何使用cookies?
  • 同意以上内容,有很多可能的方法:在 URL 中放置值(使用 ngRoute 或 UIRouter)、使用 cookie、使用本地存储、将状态保存在服务器上等。也许你应该选择一种方法并重新表述您的问题。

标签: javascript angularjs cookies twitter-bootstrap-3


【解决方案1】:

您可以使用角度本地存储。使用 set 方法 angular local storage set 来设置 isopen 的值。这里isOpen默认分配为真值,而是在本地存储中检查然后分配。我不知道您如何更改 isOpen 的值。

策略是在更改时将 isOpen 属性值的副本保存在本地存储中,并在页面刷新时检查本地存储中的最后一个值。

【讨论】:

    猜你喜欢
    • 2012-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-25
    • 1970-01-01
    • 2020-03-13
    • 2020-09-07
    • 2021-05-03
    相关资源
    最近更新 更多