Ionic 使用“EnvironmentInjector”

kupeojn6  于 2023-09-28  发布在  Ionic
关注(0)|答案(1)|浏览(168)

在用Angular创建了一个项目之后(我的第一次尝试):

ionic start app-test tabs --type=angular --capacitor

下面的代码出现在我的项目中,我不明白它的目的是什么。

public environmentInjector = inject(EnvironmentInjector);

app.component.ts

import { Component, EnvironmentInjector, inject } from '@angular/core';
import { IonicModule } from '@ionic/angular';
import { CommonModule } from '@angular/common';

@Component({
  selector: 'app-root',
  templateUrl: 'app.component.html',
  styleUrls: ['app.component.scss'],
  standalone: true,
  imports: [IonicModule, CommonModule],
})
export class AppComponent {
  public environmentInjector = inject(EnvironmentInjector);

  constructor() {}
}

你能给予我一个用例的例子吗?

k5hmc34c

k5hmc34c1#

EnvironmentInjectorinjectors的一种特定类型,它是环境注入器层次结构的一部分,存在于组件树之外。
它们是在v14中引入的,同时引入了独立组件。
您可以使用environmentInjector来提供注入上下文,例如使用runInInjectionContext

runInInjectionContext(this.environmentInjector, () => {
   const myService = inject(MyService) // injection possible thanks to the injection context provided by the environment injector
})

相关问题