Angular DI Multi Provider机制是否保证某种顺序?
例:
const TOKEN: OpaqueToken = new OpaqueToken('token');
@Injectable()
class MyService (@Inject(TOKEN) deps: any[]) {/* What is order of deps? */}
@NgModule ({
providers: [
{provide: TOKEN, multi: true, useValue: 1},
{provide: TOKEN, multi: true, useValue: 2},
{provide: TOKEN, multi: true, useValue: 3},
MyService
})
class MyModule {}
Run Code Online (Sandbox Code Playgroud) 例如:
@NgModule ({
providers: [
{ provide: MyService,
useFactory: (optionalDep) => new MyService(optionalDep)
deps: [SOME_DEP]
}
})
class MyModule {}
Run Code Online (Sandbox Code Playgroud)
useFactory可以有可选的依赖吗?
可以说,我想为NgForm添加方法(类)
NgForm.prototype.markAsDirty = function (): void {
let f: NgForm = this;
Util.forEach(f.form.controls, (k, v: AbstractControl) => {
v.markAsDirty(false);
});
};
Run Code Online (Sandbox Code Playgroud)
这在打字稿中是否有可能?
我知道:
但它只适用于接口,而不适用于类.