我正在使用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中读取对象并相应地设置值。