加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 在Angular.JS中缓存DOM

发布时间:2020-12-17 08:06:11 所属栏目:安全 来源:网络整理
导读:我正在使用路由器(正在使用内置的一个,现在使用ui-route,但是解决方案都可以)在Angular.JS中在控件/模板对之间切换。当在这些页面之间来回切换时,每次看起来很糟糕的时候,建立DOM需要一秒钟的时间。有没有任何角度保持在DOM树周围,而不是每次重新创建它
我正在使用路由器(正在使用内置的一个,现在使用ui-route,但是解决方案都可以)在Angular.JS中在控件/模板对之间切换。当在这些页面之间来回切换时,每次看起来很糟糕的时候,建立DOM需要一秒钟的时间。有没有任何角度保持在DOM树周围,而不是每次重新创建它。我想我只想隐藏/播放每个页面的位,而不是每次删除/重新创建它们。

欢迎任何建议!

您必须编写自己的ng-view命令来创建这样的功能。

背后的基本思路是:

在路由更改之前,不要摧毁当前视图元素和作用域,您只需将其放在一个不可见的缓存DIV中,并注销范围侦听器。给元素一个数据属性与$$ route.templateUrl能够得到它。
然后您从服务器获取下一个视图。

在路由更改之前,请检查缓存项目是否存在,并且如果在缓存区中,从缓存中获取元素,请重新注册侦听器并将当前视图放在缓存中。

棘手的部分不是让$ scopes上升。因此,您可能需要在$范围内为事件创建一个构造函数和析构函数,也可能需要$ watchers。我不确定。

但是说实话,如果你使用模板缓存并且还需要1秒钟的时间来渲染,那么你可能会有一些效率低下的watch表达式,或者是巨大的ng重复。你应该考虑一些反应。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读