gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 08:42:57 26 4
gpt4 key购买 nike

我想知道 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com