javascript - 如何在 Angular Js 中找到完全加载的 View

标签 javascript function angularjs loading

我想知道 Angular JS 是否有办法识别 View 已完全加载。我需要调用一个关于路线更改的函数。我用 $routeChangeSuccess 尝试过。但该函数是在 View 完全加载之前调用的。有什么办法可以做到这一点吗?

例如,我有一个导航菜单,我需要在根目录更改时激活菜单项。我有一个 css 类 active 用于显示菜单项处于事件状态。我写了一个函数来使它活跃。如果网址为 www.myweb.com/#/dashboard,则 dashboard 菜单应处于事件状态。该功能运行完美。但问题是在 View 完全加载之前调用函数。因此它不会激活菜单项,因为菜单项不存在。

如果您有解决方案,请告诉我们。

最佳答案

我真的不知道这是否是一个很好的解决方案。

通常的工作方式是等待运行一个$digest循环,该循环将渲染 HTML,然后执行 DOM 操作调用。这可以通过将用于设置 active 类的调用包装在具有 0 延迟的 $timeout 调用中来完成,这将导致其执行在下一个刻度

请注意,如果您使用 setInterval ,那么您需要一个 scope.$apply 来告诉 Angular 重新运行 $digest > 循环。

示例

app.directive('myDir', function ($timeout) {
    return {
       template: '<div>Message</div>',
       link: function (scope, elem) {
           $timeout(function () { elem.find('div').addClass('active'); });
       }
    };
});

关于javascript - 如何在 Angular Js 中找到完全加载的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20284828/

相关文章:

c# - 关闭打印窗口后网站卡住

javascript - AngularJS UI Router 多次加载同一个 Controller

javascript - 上传图像后清除 dropzone.js 缩略图

oracle - ORA-01830 : date format picture ends before converting entire input string in TOAD

javascript - Angular ng-hide 在指令中不起作用

javascript - 链接到 SD 卡 PhoneGap 中的图像

javascript - 在 jQuery 中使用回调函数

C编程101 : Dice game Assignment that adds an extra turn when players roll a 6

javascript - 在 Protractor 中设置 cookie

javascript - Angular : sort collection by list of values