当您手动刷新页面时,我想知道Angular中的数据,作用域,缓存(以及我可能还不知道的其他Angular概念)究竟发生了什么。
上下文
我有一个树状的分层数据,它是从服务中的平面数组生成的,并使用递归ng-template
和ng-repeat
在视图中呈现。我的应用程序中的每个路径都有基于参数的不同树(但是从同一个数组生成)。
问题
当我第一次显示树时,它呈现得很好。然后,我选择其他路线并为它生成树,也没关系。如果我然后返回并选择第一个路线,在视图中渲染的几个不必要的元素(我检查了我生成的树是否有缺陷,但它是正确的)。如果我重复这个动作几次,我会收到错误:
Error: [$rootScope:infdig] 10 $digest() iterations reached. Aborting!
当我看到损坏的视图(包含不必要的元素)并刷新页面时,呈现正常。 在我检查传递的数据是否正确之后,我认为在递归渲染期间可能会填充一些内部Angular缓冲区或缓存,并且当我在视图之间切换时它不会被清空。
问题/ S
答案 0 :(得分:2)
刷新页面时,Angular究竟清空了什么?
AngularJS是一个JavaScript框架。
与原生JS一样,当您刷新页面时,所有内容都会被清空。
如果要在刷新之间保存值,则必须使用浏览器存储系统。
关于此主题有几篇帖子: