在Angular中是否有等效于window.onload事件的事件?我想淡出并删除我的预加载器,但只有在所有资源,如图像加载。因为$viewConteneLoaded指示只有html插入到视图(我使用ngRotue)听它是不够的。我想捕获window.onload事件,但不知道如何正确地执行它,也不知道在Angular中执行它的最佳实践是什么,因此digest会触发。
igetnqfo1#
在组件文件中写入以下内容:
import { HostListener } from '@angular/core'; ... @HostListener('window:load') onLoad() { console.log('is window:load'); } ...
gtlvzcf82#
关于:
ngAfterViewInit(){ // your code ... }
它在视图完全加载后运行。https://angular.io/api/core/AfterViewInit#ngAfterViewInit
kyks70gy3#
尝试使用$window.onload事件。示例:
$window.onload
angular.element($window).bind('load', function() { //put your code });
对于Angular 12
angular.element(window).bind('load', function() { //put your code });
cuxqih214#
使用angular的init()函数隐藏你的预加载器,并在你的页面/控制器的底部运行它,这样所有的内容在它到达init函数之前就完成了加载。
70gysomp5#
您可以使用angular.element(document).ready();,如下所示
angular.element(document).ready();
angular.element(document).ready(function () { //do something });
5条答案
按热度按时间igetnqfo1#
在组件文件中写入以下内容:
gtlvzcf82#
关于:
它在视图完全加载后运行。
https://angular.io/api/core/AfterViewInit#ngAfterViewInit
kyks70gy3#
尝试使用
$window.onload
事件。示例:
对于Angular 12
cuxqih214#
使用angular的init()函数隐藏你的预加载器,并在你的页面/控制器的底部运行它,这样所有的内容在它到达init函数之前就完成了加载。
70gysomp5#
您可以使用
angular.element(document).ready();
,如下所示