在Angular 7中,可以通过使用@Injectable
装饰器来创建可注入的组件。下面是一个示例解决方法:
import { Injectable } from '@angular/core';
@Injectable({
providedIn: 'root' // 表示该服务将在根注入器中提供
})
export class MyService {
constructor() { }
// 添加其他方法和属性
}
import { Component } from '@angular/core';
import { MyService } from './my.service';
@Component({
selector: 'app-my-component',
template: `
{{ message }}
`
})
export class MyComponent {
message: string;
constructor(private myService: MyService) {
this.message = myService.getMessage();
}
}
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { MyComponent } from './my.component';
import { MyService } from './my.service';
@NgModule({
imports: [BrowserModule],
declarations: [MyComponent],
providers: [MyService], // 提供MyService
bootstrap: [MyComponent]
})
export class AppModule { }
通过以上步骤,你就可以在Angular 7中创建一个可注入的组件并在其他组件中使用它。
下一篇:Angular 7中的懒加载