有没有办法从摘要循环中删除范围?换句话说,暂停/恢复范围摘要循环?
在我的情况下,我已经载入了所有页面,但并不是全部都可见.所以我想暂停那些是不可见的,以避免无用的处理.我不想使用ng-view $route,我不想/需要深层链接.
我看到了this thread并且到了this fiddle.它可能做的工作,但它是很有创意,而不是非常框架更新友好.
有没有其他解决方案像$scope.suspend()和scope.resume()?还是一个较少侵入的(从框架的角度)?我正在考虑$destroy和$compile循环.
我遇到了同样的问题,我发现一个有趣的解决方案,并不会影响(太多)AngularJS.将其添加到要禁用的范围:
var watchers; scope.$on('suspend',function () { watchers = scope.$$watchers; scope.$$watchers = []; }); scope.$on('resume',function () { scope.$$watchers = watchers; watchers = null; });
然后,您可以使用以下范围禁用范围及其子项:scope.$broadcast(‘suspend’)并将其带回范围.$broadcast(‘resume’).
原文地址:https://www.jb51.cc/angularjs/142548.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。