2017-01-16 59 views
1

的正确标记类型在angular1中,我们只有提供者类型的标记 - 字符串。在angular2中,我所见过的所有例子似乎都使用了类别标记。例如:什么是DI

class Car {} 

var injector = ResolveInjector.resolveAndCreate([ 
    { provide: Car, useClass: Car }, 
      ^^^ 
    { provide: Engine, useClass: Engine } 
]); 

我想知道什么是有效的令牌类型?他们是否可以基于TypeScript数据类型或JavaScript数据类型?解决依赖性时,角度为uses metadata。那么有效的令牌类型是那些在元数据内有效的令牌类型?

回答

1
+0

感谢,关于'从文档_Using的Object'令牌什么OpaqueToken比使用'Object'作为标记更可取,因为它提供了更好的错误消息。 –

+0

对不起,无法理解这句话。之前的句子表示“'OpaqueToken'优于使用字符串”。这是有道理的,因为'OpaqueToken'可以指向它声明的来源,而错误的导入会导致错误。如果不使用全局常量,并且字符串在一个地方更改,则字符串会被复制,但可能会在其他地方被遗忘。 –

+0

我创建https://github.com/angular/angular/issues/13944 –

相关问题