将FormGroup实例注入工厂提供程序

时间:2019-03-10 10:46:50

标签: angular angular-providers

我正在尝试将配置添加到我的FormEngineService中,该配置是表单结构和DataStoreService。 我还想传递对父FormGroup(嵌套表单结构)的引用。

我在Stackblitz上有一个示例应用程序:https://stackblitz.com/edit/angular-s41cfb?file=src%2Fapp%2Fconfigurations%2Fprogressive-settings%2Fcomponents%2Fprogressive-settings%2Fprogressive-settings.component.ts

@Component({
  selector: 'app-progressive-settings',
  templateUrl: './progressive-settings.component.html',
  styleUrls: ['./progressive-settings.component.css'],
  providers: [
    {
      provide: FormEngineService,
      useFactory: FormEngineFactory,
      deps: [PROGRESSIVE_SETTINGS_STRUCTURE, DataStoreService ]
    }
  ]
})
export class ProgressiveSettingsComponent implements OnInit {
  @Input() createdBy: string;
  @Input() form: FormGroup;

如您所见,有一个@Input可以使用父FormGroup OnInit的引用来解析。 我试图通过Factory提供程序实例化FormEngine,注入Form Structure和DataStoreService,但我也想传递通过@Input传入的Form的已解析实例。

这是否可能,如果可能,最好的方法是什么。 仅供参考:在我刚刚调用FormEngine Service的init函数并将所有必需的数据传递到OnInit之前,请您参考。 我正在尝试将其替换为提供程序,以便人们使用FormEngine时不必调用Init。

0 个答案:

没有答案
相关问题