2016-03-09 5 views
21

Aşağıdaki kodda viewProviders nedir? Ve sağlayıcılardan nasıl farklı? ÖrnekteAngular'de görünüm uzmanları nelerdir? Ve b/w sağlayıcıları vs viewproviders arasındaki fark nedir?

class Greeter { 
    greet(name:string) { 
    return 'Hello ' + name + '!'; 
    } 
}  
@Component({ 
    selector: 'greet', 
    viewProviders: [ 
    Greeter 
    ], 
    template: `<needs-greeter></needs-greeter>`  
}) 
class HelloWorld { 
} 
+1

Bu makalede, http://blog.thoughtram.io/angular/2015/08/20/host-and-visibility-in-angular-2-dependency-injection.html arasındaki farklar açıklanmaktadır. –

cevap

28

, sağlayıcılar ve viewProviders helloworld şablon <ng-content> kullanmadığından arasında hiçbir fark yoktur. Eğer <ng-content>...</ng-content> içindeki içeriği projelendirme olsaydı potansiyel yansıtılan görüntünün içine enjekte edilecek Greeter istedi Eğer

viewProviders: [Greeter] 

kullandığınız için, daha sonra Greeter öngörülen içerikte enjekte edilemedi, sen

kullanmak istiyorum
providers: [Greeter] 

Bu nedenle viewProviders, sağlayıcısı yansıtılan içerik dışındaki çocuklarla sınırlandırırken, providers tüm çocukların sağlayıcısını kullanmasına izin verir. Değer, viewProviders'un yansıtılmış içeriğin hizmetlerinizle uğraşmasını engellemenize izin vermesidir; bu, özellikle kitaplıklarda yararlı olabilir.

İlgili konular