将元素状态保存在angularjs中

Save element state in angularjs

本文关键字:angularjs 存在 保存 元素 状态      更新时间:2023-09-26

假设ng-repeat设置了一些动态div元素。当我点击这个元素时,它会切换div上的一个类,就像单选按钮一样,一次只选择一个div。

是否可以通过类似local storage的方式,使用AngularJS来保留所选状态,以便稍后访问页面时,它知道该选择哪个元素?

取决于。即使用户离开网站或重新加载页面,或者只是在Angular中单击时,是否希望保存状态?

如果你只想要第二个,老实说,如果你只是想加快网站的速度,这就足够了,你可以在服务中保存状态。服务只有一个实例,所以如果您在服务中保存一些内容并稍后访问它,它将包含相同的数据。然而,这仍然只是保存在javascript中,所以实际的页面刷新或离开网站会将其删除。有关更多信息,请参阅此处的答案。

如果你想持续更长的时间,你需要使用cookie或本地存储。Angular有一个额外的插件,你可以下载,名为Angular cookies,它为你提供了处理cookie的$cookies服务$cookie有一些问题,但是,它不允许您设置cookie的路径,这使得它在某些情况下是不可行的,并且它不处理本地存储。所以它可能对你有用,但你可能需要为它创建自己的系统,或者找到其他人。