angularjs 窗口.onload(Angular )

huus2vyu  于 2022-10-31  发布在  Angular
关注(0)|答案(5)|浏览(218)

在Angular中是否有等效于window.onload事件的事件?
我想淡出并删除我的预加载器,但只有在所有资源,如图像加载。因为$viewConteneLoaded指示只有html插入到视图(我使用ngRotue)听它是不够的。
我想捕获window.onload事件,但不知道如何正确地执行它,也不知道在Angular中执行它的最佳实践是什么,因此digest会触发。

igetnqfo

igetnqfo1#

在组件文件中写入以下内容:

import { HostListener } from '@angular/core';

...

@HostListener('window:load')
onLoad() {
  console.log('is window:load');
}

...
gtlvzcf8

gtlvzcf82#

关于:

ngAfterViewInit(){
   // your code ...
}

它在视图完全加载后运行。
https://angular.io/api/core/AfterViewInit#ngAfterViewInit

kyks70gy

kyks70gy3#

尝试使用$window.onload事件。
示例:

angular.element($window).bind('load', function() {
    //put your code
});

对于Angular 12

angular.element(window).bind('load', function() {
    //put your code
});
cuxqih21

cuxqih214#

使用angular的init()函数隐藏你的预加载器,并在你的页面/控制器的底部运行它,这样所有的内容在它到达init函数之前就完成了加载。

70gysomp

70gysomp5#

您可以使用angular.element(document).ready();,如下所示

angular.element(document).ready(function () {
       //do something
    });

相关问题