如何知道在给定页面上的所有插值和处理何时已经完成?
compile: function (tElement, tAttrs) {
return function (scope, element, attrs) {
element.html(tpl);
$compile(element.contents())(scope);
};
},这不是同步的。如果有{{整}和ng-重复=“.”等等。当链接函数返回时,并不能保证它们全部完成。
我需要一种方法来知道页面何时呈现,并且没有更多的指令要处理,这样我就可以使用# has导航到页面上按角度创建的元素。(使用$anchorScroll)
发布于 2013-11-14 15:53:57
不妨试试这个:
$scope.$on('$viewContentLoaded', function() {
// ....
});发布于 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

这是另一种方法,但我更喜欢使用角指令。
<li ng-repeat="opt in menuItems" my-custom-repeat-listener> </li>然后在指令上有点像
if(scope.$last) { /*fire event or etc to show the list items*/ }https://stackoverflow.com/questions/19981894
复制相似问题