首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AngularJS -你怎么知道什么时候角已经完成了一个页面的处理?

AngularJS -你怎么知道什么时候角已经完成了一个页面的处理?
EN

Stack Overflow用户
提问于 2013-11-14 15:39:52
回答 2查看 561关注 0票数 0

如何知道在给定页面上的所有插值和处理何时已经完成?

代码语言:javascript
复制
            compile: function (tElement, tAttrs) {
                return function (scope, element, attrs) {
                    element.html(tpl);
                    $compile(element.contents())(scope);
                };
            },

这不是同步的。如果有{{整}和ng-重复=“.”等等。当链接函数返回时,并不能保证它们全部完成。

我需要一种方法来知道页面何时呈现,并且没有更多的指令要处理,这样我就可以使用# has导航到页面上按角度创建的元素。(使用$anchorScroll)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-14 15:53:57

不妨试试这个:

代码语言:javascript
复制
$scope.$on('$viewContentLoaded', function() {
  // ....
});
票数 1
EN

Stack Overflow用户

发布于 2016-02-27 20:28:47

由于这个非常具体的原因,角中有一个指令: ngCloak。

ngCloak指令用于防止浏览器在加载应用程序时以其原始(未编译)形式简要显示角html模板。使用此指令可避免因html模板显示而产生的不受欢迎的闪烁效果。

医生@ https://docs.angularjs.org/api/ng/directive/ngCloak

Quora上的类似问题;如何使用AngularJS隐藏div,直到ng重复完成处理?@ https://www.quora.com/How-do-I-hide-a-div-with-AngularJS-until-ng-repeat-has-finished-processing

这是另一种方法,但我更喜欢使用角指令。

代码语言:javascript
复制
<li ng-repeat="opt in menuItems" my-custom-repeat-listener> </li>

然后在指令上有点像

代码语言:javascript
复制
if(scope.$last) { /*fire event or etc to show the list items*/ }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19981894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档