要调用全局方法,可以使用Angular的服务来实现。以下是一个示例:
GlobalService
:import { Injectable } from '@angular/core';
@Injectable({
providedIn: 'root'
})
export class GlobalService {
globalMethod() {
console.log('This is a global method');
}
}
GlobalService
:import { Component } from '@angular/core';
import { GlobalService } from './global.service';
@Component({
selector: 'app-example',
template: `
`
})
export class ExampleComponent {
constructor(private globalService: GlobalService) {}
callGlobalMethod() {
this.globalService.globalMethod();
}
}
在上面的示例中,GlobalService
被注入到了ExampleComponent
中。在callGlobalMethod
方法中,我们调用了globalMethod
方法。
GlobalService
:import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';
import { ExampleComponent } from './example.component';
import { GlobalService } from './global.service';
@NgModule({
imports: [BrowserModule],
declarations: [AppComponent, ExampleComponent],
providers: [GlobalService],
bootstrap: [AppComponent]
})
export class AppModule {}
在模块中的providers
数组中,我们提供了GlobalService
,以便在应用中的任何组件中都可以注入和使用它。
现在,当点击"Call Global Method"按钮时,将调用全局服务中的globalMethod
方法。
请注意,由于我们在@Injectable
装饰器中使用了providedIn: 'root'
,所以不需要在providers
数组中提供GlobalService
。这将使得GlobalService
成为一个全局的单例服务,可以在整个应用中共享。