如何将普通JS函数注册到@Output角度



我在index的script标签中有一个函数.htmlhideAppLoader()并且在index.html中有一个角度的应用程序组件。我想在应用程序启动时调用该函数。我已经尝试过@Output但这不起作用。这是代码

索引.html

<head>
<script>
function hideAppLoader() { debugger;}
</script>
</head>
<body>
<my-app (onAppLoad)="hideAppLoader($event)"></my-app>
</body>

并在TS文件中

@Output() onAppLoad = new EventEmitter();
ngOnInit() {
this.onAppLoad.emit();
}

但是即使控制台上没有错误,也不会调用该函数。我什至尝试过(onAppLoad)="this.hideAppLoader($event)"(onAppLoad)="window.hideAppLoader($event)"

解决方案是什么,甚至可以在加载时从角度组件调用普通 js 函数?

由于脚本函数是全局的,因此不需要使用 和 EventEmitter。 只需将您的ngOnInit更改为:

ngOnInit() {
window.hideAppLoader();
}

hideAppLoader的名称来看,您可以在my-app标签中定义加载器,一旦加载了AppComponent,Angular就会将其删除。

<my-app>
<img src="assets/loader" />
</my-app>

最新更新