填写这份《一分钟调查》,帮我们(开发组)做得更好!去填写Home

forwardRef

允许引用尚未定义的引用。

Allows to refer to references which are not yet defined.

查看"说明"...

      
      forwardRef(forwardRefFn: ForwardRefFn): Type<any>
    
参数
forwardRefFn ForwardRefFn
返回值

Type<any>

说明

例如,当我们需要为所声明的 DI 而引用此 token,但尚未定义该令牌时,将使用 forwardRef。当我们创建尚未定义的查询的 token 时,也会使用它。

For instance, forwardRef is used when the token which we need to refer to for the purposes of DI is declared, but not yet defined. It is also used when the token which we use when creating a query is not yet defined.

Further information available in the Usage Notes...

使用说明

例子

Example

      
      class Door {
  lock: Lock;

  // Door attempts to inject Lock, despite it not being defined yet.
  // forwardRef makes this possible.
  constructor(@Inject(forwardRef(() => Lock)) lock: Lock) {
    this.lock = lock;
  }
}

// Only at this point Lock is defined.
class Lock {}

const injector =
    Injector.create({providers: [{provide: Lock, deps: []}, {provide: Door, deps: [Lock]}]});

expect(injector.get(Door) instanceof Door).toBe(true);
expect(injector.get(Door).lock instanceof Lock).toBe(true);