什么是角度2的观点?和b / w提供者vs viewproviders有什么区别?

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

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

providers: [Greeter]

所以viewProviders将提供者限制为除了预计内容之外的其他孩子,而提供者则允许所有孩子都使用提供者.值得注意的是,ViewProviders允许您防止投影内容混乱您的服务,这在库中尤其有用.

原文链接:https://www.f2er.com/angularjs/143089.html

猜你在找的Angularjs相关文章