什么是Angular中的viewproviders? b / w提供商与viewproviders有什么区别?

前端之家收集整理的这篇文章主要介绍了什么是Angular中的viewproviders? b / w提供商与viewproviders有什么区别?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
以下代码中的viewProviders是什么?它与提供商有何不同?
class Greeter {
   greet(name:string) {
     return 'Hello ' + name + '!';
   }
}    
@Component({
  selector: 'greet',viewProviders: [
    Greeter
  ],template: `<needs-greeter></needs-greeter>`    
})
class HelloWorld {
}
在您的示例中,提供者和viewProviders之间没有区别,因为HelloWorld的模板不使用< ng-content>.如果您在< ng-content> …< / ng-content>中投影内容,则Greeter无法注入投影内容,因为您正在使用
viewProviders: [Greeter]

如果您希望Greeter可能被注入到预计的内容中,那么您可以使用

providers: [Greeter]

因此,viewProviders将提供者限制为除预计内容之外的子级,而提供者允许所有子级使用提供者.值是viewProviders允许您防止投影内容搞乱您的服务,这在图书馆中尤其有用.

猜你在找的Angularjs相关文章