我正在使用AngularJS将一些数据传递到表中。表格上方是一系列复选框,用于显示/隐藏表格中的列。

当用户离开/刷新页面时,如何保留他们的复选框首选项?

我已经阅读了一些书,我想我可以使用ngStorage来做到这一点?

这是我的代码的基本概述:

<input id="goals" type="checkbox" ng-model="checked.goals"><label for="goals">Goals</label>

<table ng-cloak>
    <thead>
        <td ng-show="checked.goals">Goals</td>
    </thead>
    <tr ng-repeat="stat in stats">
        <td ng-show="checked.goals">@{{ stat.goals }}</td>
    </tr>
</table>


我正在阅读ngStorage / AngularJS文档,因为我还是该框架的新手,但我认为其他人可能也遇到了同样的挑战。

最佳答案

我以前没有使用过ngStorage,但是通过使用localStorage就能存储类似于这种情况的用户首选项。我创建了一个存储对象,并将键映射到复选框的名称。当控制器加载时,我从localStorage中读取对象并相应地设置值。

09-11 23:43