kullanın providers veya viewProviders bileşenine hizmet "sunmak" için:
enjekte hizmeti bileşeni yapıcı içine parametreler türlerini belirtirken:
@Component({
// ...
providers: [TodoService]
})
class TodoComponent() {
constructor(todoService: TodoService) {
this.todoService = todoService;
}
}
veya Inject
parametre yönetmeni kullanarak.
@Component({
// ...
providers: [TodoService]
})
class TodoComponent() {
constructor(@Inject(TodoService) todoService) {
this.todoService = todoService;
}
}
Parametre dekoratörler ES2016 parçası olmayan (siz typescript spesifik olarak düşünebilirsiniz). Ancak added to the standard later olabilir.
gerçekten ES6/ES7 kullanmak istiyorsanız
,
parameters
için statik getter kullanın:
@Component({
// ...
providers: [TodoService]
})
class TodoComponent() {
static get parameters() {
return [[TodoService]]; // you can also return just [TodoService]
}
constructor(todoService) {
this.todoService = todoService;
}
}
Ayrıca, ben tavsiye daha iyi angular2 Bağımlılık Injection anlamak için this article okumak için.
Yani bu uygulamaların her ikisi de Typescript'e özeldir? ES2016 dekoratörlerini kullanmanın bir yolu yoktur (bu, parametre dekoratörlerini içermez, bağlantı için teşekkürler)? – iksose
@iksose ES6/ES7 için bir örnek ekledim – alexpods
Mükemmel! Harika çalışıyor, teşekkürler @alexpods – iksose